Я попытался изменить значение параметра по умолчанию следующим образом:
ALTER PROCEDURE [dbo].[my_sp]
@currentDate datetime = GETDATE()
и все, что дал мне предварительный компилятор SQL, было этой ошибкой:
Msg 102, уровень 15, состояние 1, процедура my_sp, строка 8 Неправильный синтаксис рядом с '('.
Я уже создал процедуру. (Я не уверен, что это актуально.) Я использовал значение по умолчанию null и проверял его позже, но это не кажется правильным. Могу я сделать это одной строкой?
Обновление: я отказался от описания параметров хранимой процедуры в MSDN :
[= default] Значение параметра по умолчанию. Если определено значение по умолчанию, функция может быть выполнена без указания значения для этого параметра.
Примечание.
Для функций CLR могут быть указаны значения параметров по умолчанию, за исключением типов данных varchar (max) и varbinary (max).Когда параметр функции имеет значение по умолчанию, ключевое слово DEFAULT должно быть указано при вызове функции для получения значения по умолчанию. Это поведение отличается от использования параметров со значениями по умолчанию в хранимых процедурах, в которых исключение параметра также подразумевает значение по умолчанию.
Я неправильно это читаю?
Большое спасибо.