Предположит, что у меня есть следующая хранимая процедура:SQL Server хранимых процедуры: установленное значение по умолчанию для входного параметра, хотя выполнения запроса
CREATE PROCEDURE test
@my_var varbinary
AS
SELECT @my_var as my_var
Однако я хочу изменить его так, что @my_var
имеет значение по умолчанию. Я не знаю, что такое значение буквально, но я знаю, где его можно получить в базе данных.
Что-то вроде:
declare @var int
SELECT @var = my_variable from my_table where something = 'what I need'
GO
CREATE PROCEDURE test
@my_var varbinary = @var
AS
SELECT @my_var as my_var
Однако это не удается. Кажется, что @var выпадает из сферы действия.
Можно ли что-то сделать?
Спасибо!
Будет ли это значение когда-либо изменяться или оно будет одинаковым на протяжении всего срока службы хранимая процедура? –
Это может быть, ОДНАКО, я только хочу выполнить запрос один раз, захватить это значение и поместить его в качестве значения по умолчанию в SP. Другими словами, запрос может не обязательно возвращать одно и то же значение отныне до конца времен, но я только забочусь о значении, которое я захватываю с помощью этого запроса в данный момент, когда я создаю SP. По этой причине установка значения по умолчанию для NULL и выполнение проверки if внутри SP и вызов запроса отсюда, к сожалению, не является вариантом. – doubleOK
Вы делаете свой выбор _inside_ proc, сразу после 'AS' и устанавливаете значение' @ my_var' –