Я спробував змінити значення параметра за замовчуванням за допомогою цього:
ALTER PROCEDURE [dbo].[my_sp]
@currentDate datetime = GETDATE()
і всі попередні компілятори SQL дали мені цю помилку:
Повідомлення 102, рівень 15, стан 1, процедура my_sp, рядок 8 Неправильний синтаксис біля '(').
Я вже створив процедуру. (Я не впевнений, чи це актуально.) Я використовував нульове значення за замовчуванням і перевіряв це на пізніше, але це не здається правильним. Чи можу я це зробити одним рядком?
Оновлення: я вимикав опис MSDN збережених параметрів процедури :
[= default] - це значення за замовчуванням для параметра. Якщо визначено значення за замовчуванням, функцію можна виконати, не вказуючи значення для цього параметра.
Примітка:
значення параметрів за замовчуванням можуть бути визначені для функцій CLR, за винятком типів даних varchar (max) та varbinary (max).Коли параметр функції має значення за замовчуванням, ключове слово DEFAULT повинно бути вказане, коли функція викликається для отримання значення за замовчуванням. Така поведінка відрізняється від використання параметрів із значеннями за замовчуванням у збережених процедурах, у яких пропускання параметра також передбачає значення за замовчуванням.
Чи читаю я це неправильно?
Велике дякую.