Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье приведены основные советы по назначению переменных T-SQL в выделенном пуле SQL.
Установите переменные с помощью DECLARE
Переменные в выделенном пуле SQL задаются с помощью оператора DECLARE или оператора SET. Инициализация переменных с помощью DECLARE является одним из самых гибких способов задания значения переменной в пуле SQL.
DECLARE @v int = 0
;
Вы также можете использовать DECLARE для задания нескольких переменных за раз. Для выполнения следующих действий нельзя использовать SELECT или UPDATE:
DECLARE @v INT = (SELECT TOP 1 c_customer_sk FROM Customer where c_last_name = 'Smith')
, @v1 INT = (SELECT TOP 1 c_customer_sk FROM Customer where c_last_name = 'Jones')
;
Вы не можете инициализировать и использовать переменную в той же инструкции DECLARE. Чтобы пояснить мысль, следующий пример не допускается, так как @p1 единственно инициализирован и используется в одном операторе DECLARE. Таким образом, следующий пример приводит к ошибке:
DECLARE @p1 int = 0
, @p2 int = (SELECT COUNT (*) FROM sys.types where is_user_defined = @p1 )
;
Установка значений с помощью SET
SET — это распространенный метод настройки одной переменной.
Следующие инструкции являются допустимыми способами задания переменной с помощью SET:
SET @v = (Select max(database_id) from sys.databases);
SET @v = 1;
SET @v = @v+1;
SET @v +=1;
Вы можете задать только одну переменную в одно время с помощью SET. Однако составные операторы допустимы.
Ограничения
Невозможно использовать UPDATE для назначения переменных.
Дальнейшие действия
Дополнительные советы по разработке приведены в обзоре разработки.