Как установить параметр datetime по умолчанию в хранимой процедуре?
Я объявил хранимую процедуру в Sybase, и один из параметров имеет тип datetime. Теперь я хочу присвоить этой дате время значение по умолчанию.
Вот декларация:
create procedure Procedure
(
@fromDate datetime = getdate()
)
...
Однако Sybase дает мне ошибку
Number (102) Severity (15) State (1) Server (SERVER) Procedure (Procedure) Incorrect syntax near '('.
Можно ли сделать это? Если нет, есть ли обходной путь?
1 ответ
Решение
Вы не можете использовать вызов функции в назначении переменной по умолчанию (как вы узнали).
Установите значение по умолчанию, равное Null, и сначала поместите назначение в хранимую процедуру.
create procedure Procedure
(
@fromDate datetime = NULL
)
begin
set @fromDate = coalesce( @fromDate , getdate() )
end