Как присвоить результат вызова exec переменной в SQL? У меня есть хранимая процедура up_GetBusinessDay
, которая возвращает одну дату.
Вы можете сделать что-нибудь вроде этого:
exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1
sql
sql-server
tsql
stored-procedures
Прабху
источник
источник
Это сработает, если вы хотите просто вернуть целое число:
источник
UNIQUEIDENTIFIER
.UNIQUEIDENTIFIER
был просто примером,RETURN
предназначен для работы только с целыми значениями, см. Документацию . Рекомендуемый способ получения других данных от SP - либо вернуть набор результатов, либо использоватьOUTPUT
источник
Из документации (при условии, что вы используете SQL-Server):
Так что да, так должно работать.
источник
У меня такой же вопрос. Хотя здесь есть хорошие ответы, я решил создать функцию с табличным значением. С функцией с табличным (или скалярным) значением вам не нужно изменять сохраненную процедуру. Я просто сделал выбор из функции с табличным значением. Обратите внимание, что параметр (MyParameter не является обязательным).
Чтобы назначить свою переменную, вы просто можете сделать что-то вроде:
Вы также можете использовать скалярную функцию:
Тогда вы можете просто сделать
источник