EXEC в инструкции SELECT в SQL - PullRequest
       0

EXEC в инструкции SELECT в SQL

2 голосов
/ 03 ноября 2011

У меня есть хранимая процедура, которая получает некоторые входные данные и возвращает выходные данные (была преобразована из функции). Кроме того, у меня есть оператор SELECT, который извлекает данные из нескольких таблиц и используется для вызова этой функции.
Я просто хочувыполнить хранимую процедуру в операторе SELECT и получить один результирующий набор Пример:

SELECT a, b, c, @var=exec sp_name par1, par2 or
SELECT col1, col2, col3, exec SP_name par1, par2 output

Ответы [ 2 ]

6 голосов
/ 03 ноября 2011

Вы не можете сделать это.Хранимые процедуры не могут быть выполнены как встроенные операторы.Если вы не планируете манипулировать данными в хранимом процессе, вам действительно следует преобразовать их обратно в функцию.

Или вы всегда можете сделать что-то вроде:

exec spYourProc @firstINvar, @firstOUTvar output

Если у вас естьПараметр OUTPUT позволяет использовать выходной параметр в запросе SELECT или любом другом запросе, который допускает параметр.

0 голосов
/ 03 ноября 2011

Возможно, ваша задача может быть решена с использованием sp_excutesql, как описано в статье "Как указать выходные параметры при использовании хранимой процедуры sp_executesql в SQL Server" ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...