Результат SQL Server указан в выходных параметрах? - PullRequest
1 голос
/ 02 ноября 2011

У меня был sproc, который выполнил оператор select, результатом был один столбец и одна строка, которые я назначил выходному параметру.

Теперь sproc должен расти, чтобы вернуть два столбца из результата одной строкизадавать.

Каков самый чистый способ сохранить одиночный выбор (просто сделать так, чтобы он возвращал два столбца вместо одного) и иметь два значения строки, назначенные отдельным (выходным) переменным?

Спасибо.

Ответы [ 2 ]

1 голос
/ 02 ноября 2011

Вы можете просто объявить 2 output параметров и назначить оба параметра из одного и того же select

select @foo = foo, @bar=bar ...

1 голос
/ 02 ноября 2011

Если вы ищете возвращаемое значение, которое не является скалярным (то есть набор данных), то вы не сможете использовать хранимую процедуру.Переменная таблицы может быть READONLY в хранимой процедуре.

Я бы порекомендовал преобразовать логику вашей хранимой процедуры в Табличную функцию .Это будет хорошо, если вы не выполняете никаких DML-инструкций внутри функции.Но, согласно вашему описанию, кажется, что это всего лишь SELECT.

Кроме того, выгода функции заключается в том, что ее можно запрашивать inline.

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