Я пытаюсь вызвать функцию с таблицей с некоторыми переменными входами. Однако я хотел бы использовать значение функции default
, если вызывающий скрипт не устанавливает входное значение.По умолчанию Вход от переменной
Итак, предположим, что у меня есть функция (да, это глупая функция)
create function dbo.testing(@countTo int=10)
returns @output table(num int)
as
begin
declare @i int
set @i=0
while @i < @countTo
begin
set @[email protected]+1
insert into @output(num)
values(@i)
end
return
end
Затем я мог настроить переменную для ввода:
declare @stop int
set @stop=15
select * from dbo.testing(@stop)
Однако, если @stop
является слева как null
, я бы хотел использовать значение default
, но он просто будет использовать null
(который ничего не возвращает ...). По сути, я хочу, чтобы следующие работы:
select * from dbo.testing(isnull(@stop,default))
Но он просто возвращает ошибку:
Msg 156, Level 15, State 1, Line 4 Incorrect syntax near the keyword 'default'.
есть в любом случае сделать это без изменения функции?