Tôi muốn có tham số "@myDate" trong quy trình được lưu trữ mặc định là 2 năm trước ngày hôm nay nếu không có gì khác được chỉ định. Tôi đã cố gắng làm một cái gì đó như thế này trong định nghĩa thủ tục của tôi:Tôi có thể mặc định tham số thủ tục lưu trữ sql thành một biểu thức động không?
CREATE PROCEDURE myProcedure( @param1 int,
@param2 varchar(20),
@param3 int = null,
@myDate datetime = dateadd(year,-2,getDate()))
Tôi nhận được lỗi cú pháp sau:
Incorrect syntax near '('.
Liệu SQL Server cho phép bạn thiết lập biểu thức năng động như các giá trị tham số mặc định? Nếu không, làm thế nào tôi có thể nhận được xung quanh này (khác với vụng về IF @myDate is null SET @myDate=...
)?
Có một ranh giới mong manh giữa vụng về và lười biếng. –