Chcę mieć parametr "@myDate" w procedurze przechowywanej, która domyślnie wynosi 2 lata przed dniem dzisiejszym, jeśli nic innego nie jest określone. Próbowałem robić coś takiego w mojej definicji procedury:Czy mogę domyślnie parametr procedury składowanej sql do wyrażenia dynamicznego?
CREATE PROCEDURE myProcedure( @param1 int,
@param2 varchar(20),
@param3 int = null,
@myDate datetime = dateadd(year,-2,getDate()))
Dostaję następujący błąd składni:
Incorrect syntax near '('.
Czy SQL Server pozwalają ustawić wyrażeń dynamicznych jako wartości domyślne parametrów? Jeśli nie, jak mogę to obejść (poza niezręcznym IF @myDate is null SET @myDate=...
)?
Istnieje cienka linia między niezdarny i leniwy. –