Я хочу иметь параметр «@myDate» в хранимой процедуре, который по умолчанию имеет значение за 2 года до сегодняшнего дня, если не указано иное. Я попытался сделать что-то подобное в своем определении процедуры:
CREATE PROCEDURE myProcedure( @param1 int,
@param2 varchar(20),
@param3 int = null,
@myDate datetime = dateadd(year,-2,getDate()) )
Я получаю следующую синтаксическую ошибку:
Incorrect syntax near '('.
Позволяет ли сервер sql устанавливать динамические выражения в качестве значений параметров по умолчанию? Если нет, как я могу обойти это (кроме неуклюжего IF @myDate is null SET @myDate = ...
)?