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