Сценарий Microsoft SQL Server 2008 - Как установить локальные переменные в результате оператора выбора - PullRequest
0 голосов
/ 27 января 2011

Я немного запутался в том, как (если это вообще возможно) разрешить вам устанавливать локальную переменную из результата оператора возврата SQL.Я знаю, что оператор SQL должен возвращать только одно значение, потому что в настоящее время я просто тестирую свою базу данных с различными входными данными, и тип, который она должна возвращать, является целым числом.Я знаю, в PL / SQL, я бы просто сделал это: выберите buildID в locvar из loc, где ...

Любая помощь будет принята с благодарностью.

Спасибо.

Ответы [ 2 ]

1 голос
/ 27 января 2011

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

Declare localvariable int

Execute localvariable = [database].[dbo].[storedprocedure]

Независимо от того, что возвращает оператор возврата в sprocдолжен заполнить в переменной.Я никогда не пробовал это в блоке операторов, не уверен, если это возможно.Несколько минут исследований ничего не выявили.Если никто не придет с ответом, завтра я проведу дополнительные исследования.

Отредактировано, чтобы спросить, вы просто пытаетесь узнать, как установить переменную?Есть много способов.Очень похоже на приведенный вами пример, вы просто не используете return в этом случае.

0 голосов
/ 27 января 2011

Ах, я только что понял.Это получается так, как я пытался сделать ранее:

DECLARE @test int;

SELECT @ test = [buildingId] FROM Location WHERE postalCode = 'M6N 1K5';

на самом деле был правильный синтаксис, это было мое преобразование в varchar, что вызывало проблему.В любом случае, спасибо за помощь, Шон. Надеюсь, мой ответ принесет вам пользу, так же как и мне.

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