Какой синтаксис для переменных в хранимой процедуре MSSQL? - PullRequest
5 голосов
/ 21 октября 2008

У меня есть простой запрос, подобный этому:

select * from mytable where id > 8

Я хочу сделать 8 переменной. Есть такой синтаксис, как

declare @myvar int
myvar = 8

но я не знаю точного синтаксиса.

Что это?

Спасибо!

Ответы [ 4 ]

14 голосов
/ 22 октября 2008

Это:

DECLARE @MyVariable INT
SET @MyVariable = 8
5 голосов
/ 22 октября 2008
declare @myvar int

Set @myvar = 8

select * from mytable where id > @myvar
3 голосов
/ 22 октября 2008

Для пояснения: и SET, и SELECT работают, но SET является стандартом ANSI. Однако, если вы устанавливаете несколько значений одновременно, то

SET @one = 1
SET @two = 2

будет немного медленнее, чем

SELECT @one = 1, @two = 2

Однако то, что вы набираете в скорости, может быть компенсировано удобочитаемостью и ясностью.

1 голос
/ 22 октября 2008
declare @myvar int

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