Переменные в SQL Server работают при выполнении сложных запросов следующим образом: через переменные можно передавать данные в запросы и получать данные, которые являются результатом запросов, в переменные. 3
Для присвоения значения отдельной переменной нужно объявить её в операторе DECLARE и назначить индивидуальное значение с помощью операторов SET или SELECT. 5 Оператор SET используется, когда желаемое значение известно, а оператор SELECT — когда нужно получить желаемое значение из таблицы. 5
Пример одновременного присваивания данных нескольким переменным: 1
DECLARE @FirstName VARCHAR(50), @LastName VARCHAR(50);-- Объявляем переменные для имени и фамилииSELECT @FirstName = FirstColumn, @LastName = LastColumnFROM PersonTable WHERE PersonID = 1;-- Выполняем присвоение переменным по условию
Для избежания выборки нескольких строк в ситуациях, где ожидается только одно значение, используются агрегатные функции. 1 Например, чтобы найти максимальное значение активной цены и присвоить его переменной, можно написать:
DECLARE @MaxPrice MONEY;SELECT @MaxPrice = MAX(Price)FROM Products WHERE IsActive = 1;-- Ищем максимальное значение активной цены и присваиваем его переменной @MaxPrice
Также для работы с большими объёмами данных или сложными запросами подходят временные таблицы, которые поддерживают создание индексов и статистический анализ. 1 Они удобны для уменьшения количества запросов к базе данных в хранимых процедурах. 1