Переменные (Transact-SQL)
Локальная переменная Transact-SQL представляет собой объект, содержащий одно значение определенного типа. Переменные обычно используются в пакетах и скриптах:
- в качестве счетчика цикла;
- для хранения значения, которое необходимо проверить инструкцией управления потоком;
- для хранения значения, возвращенного функцией или хранимой процедурой.
- Имена некоторых системных функций Transact-SQL начинаются с двух символов @ (@@). Хотя в предыдущих версиях сервера SQL Server @@функции называются глобальными переменными, @@функции не являются переменными и используются иначе. @@functions являются системными функциями, а их синтаксис использует правила для функций.
- В представлении нельзя использовать переменные.
- Откат транзакции не влияет на изменения переменных.
Следующий скрипт создает небольшую тестовую таблицу из 26 строк. Переменная используется в скрипте в качестве:
- счетчика цикла для управления количеством вставляемых строк;
- значения, вставляемого в столбец целочисленного типа;
- аргумента функции, формирующей строку, которая вставляется в столбец символьного типа:
-- Create the table. CREATE TABLE TestTable (cola INT, colb CHAR(3)); GO SET NOCOUNT ON; GO -- Declare the variable to be used. DECLARE @MyCounter INT; -- Initialize the variable. SET @MyCounter = 0; -- Test the variable to see if the loop is finished. WHILE (@MyCounter < 26) BEGIN; -- Insert a row into the table. INSERT INTO TestTable VALUES -- Use the variable to provide the integer value -- for cola. Also use it to generate a unique letter -- for each row. Use the ASCII function to get the -- integer value of 'a'. Add @MyCounter. Use CHAR to -- convert the sum back to the character @MyCounter -- characters after 'a'. (@MyCounter, CHAR( ( @MyCounter + ASCII('a') ) ) ); -- Increment the variable to count this iteration -- of the loop. SET @MyCounter = @MyCounter + 1; END; GO SET NOCOUNT OFF; GO -- View the data. SELECT cola, colb FROM TestTable; GO DROP TABLE TestTable; GO
Объявление переменных в языке Transact-SQL
Инструкция DECLARE инициализирует переменную Transact-SQL следующим образом:
- Назначение имени. Имя должно иметь один @ в качестве первого символа.
- Назначение длины и типа данных, определяемого системой или пользователем. Для числовых переменных задаются также точность и масштаб. Для переменных типа XML может быть дополнительно задана коллекция схем.
- Присваивает созданной переменной значение NULL.
Например, следующая инструкция DECLARE создает локальную переменную @mycounter типа int.
DECLARE @MyCounter INT;
Инструкция DECLARE позволяет объявить несколько переменных одинакового или разного типов через запятую.
Например, следующая инструкция DECLARE создает три локальные переменные с именем @LastName, @FirstName и @StateProvince, присваивая каждой из них значение NULL:
DECLARE @LastName NVARCHAR(30), @FirstName NVARCHAR(20), @StateProvince NCHAR(2);
Областью видимости переменной называют диапазон инструкций Transact-SQL, которые могут к ней обращаться. Областью видимости переменной являются все инструкции между ее объявлением и концом пакета или хранимой процедуры, где она объявлена. Например, следующий скрипт содержит синтаксическую ошибку, поскольку переменная объявлена в одном пакете, а используется в другом:
USE AdventureWorks2022; GO DECLARE @MyVariable INT; SET @MyVariable = 1; -- Terminate the batch by using the GO keyword. GO -- @MyVariable has gone out of scope and no longer exists. -- This SELECT statement generates a syntax error because it is -- no longer legal to reference @MyVariable. SELECT BusinessEntityID, NationalIDNumber, JobTitle FROM HumanResources.Employee WHERE BusinessEntityID = @MyVariable;
Переменные имеют локальную область видимости и доступны только внутри пакета или процедуры, где они объявлены. В следующем примере вложенная область видимости, созданная для выполнения процедуры sp_executesql, не имеет доступа к переменной, объявленной в более высокой области видимости, и возвращает ошибку:
DECLARE @MyVariable INT; SET @MyVariable = 1; EXECUTE sp_executesql N'SELECT @MyVariable'; -- this produces an error
Присвоение значения переменной в языке Transact-SQL
При объявлении переменной присваивается значение NULL. Чтобы изменить значение переменной, применяется инструкция SET. Этот способ присвоения значений переменным является предпочтительным. Кроме того, переменной можно присвоить значение, указав ее в списке выбора инструкции SELECT.
Чтобы присвоить значение переменной при помощи инструкции SET, необходимо указать ее имя и присваиваемое значение. Этот способ присвоения значений переменным является предпочтительным. Например, следующий пакет объявляет две переменные, присваивает им значения и использует их в предложении WHERE инструкции SELECT :
USE AdventureWorks2022; GO -- Declare two variables. DECLARE @FirstNameVariable NVARCHAR(50), @PostalCodeVariable NVARCHAR(15); -- Set their values. SET @FirstNameVariable = N'Amy'; SET @PostalCodeVariable = N'BA5 3HX'; -- Use them in the WHERE clause of a SELECT statement. SELECT LastName, FirstName, JobTitle, City, StateProvinceName, CountryRegionName FROM HumanResources.vEmployee WHERE FirstName = @FirstNameVariable OR PostalCode = @PostalCodeVariable; GO
Переменной можно присвоить значение, указав ее в списке выбора. Если список выбора ссылается на переменную, то ей должно быть присвоено скалярное значение, или инструкция SELECT должна возвращать только одну строку. Например:
USE AdventureWorks2022; GO DECLARE @EmpIDVariable INT; SELECT @EmpIDVariable = MAX(EmployeeID) FROM HumanResources.Employee; GO
Когда при выполнении инструкции SELECT переменной присваивается несколько значений, сервер SQL Server не гарантирует порядок вычисления выражений. Обратите внимание, что этот эффект проявляется, только если инструкция присваивает значение переменной.
Если инструкция SELECT возвращает более одной строки и переменная ссылается на нескалярное выражение, ей присваивается значение, которое возвращается для выражения в последней строке результирующего набора. Например, в следующем пакете переменной @EmpIDVariable присваивается значение идентификатора BusinessEntityID последней возвращенной строки, равное 1:
USE AdventureWorks2022; GO DECLARE @EmpIDVariable INT; SELECT @EmpIDVariable = BusinessEntityID FROM HumanResources.Employee ORDER BY BusinessEntityID DESC; SELECT @EmpIDVariable; GO
Переменные и управляющие конструкции
Переменная представляет именованный объект, который хранит некоторое значение. Для определения переменных применяется выражение DECLARE , после которого указывается название и тип переменной. При этом название локальной переменной должно начинаться с символа @ :
DECLARE @название_переменной тип_данных
Например, определим переменную name, которая будет иметь тип NVARCHAR:
DECLARE @name NVARCHAR(20)
Также можно определить через запятую сразу несколько переменных:
DECLARE @name NVARCHAR(20), @age INT
С помощью выражения SET можно присвоить переменной некоторое значение:
DECLARE @name NVARCHAR(20), @age INT; SET @name='Tom'; SET @age = 18;
Так как @name предоставляет тип NVARCHAR, то есть строку, то этой переменной соответственно и присваивается строка. А переменной @age присваивается число, так как она представляет тип INT.
Выражение PRINT возвращает сообщение клиенту. Например:
PRINT 'Hello World'
И с его помощью мы можем вывести значение переменной:
DECLARE @name NVARCHAR(20), @age INT; SET @name='Tom'; SET @age = 18; PRINT 'Name: ' + @name; PRINT 'Age: ' + CONVERT(CHAR, @age);
При выполнении скрипта внизу SQL Server Management Studio отобразится значение переменных:

Также можно использовать для получения значения команду SELECT :
DECLARE @name NVARCHAR(20), @age INT; SET @name='Tom'; SET @age = 18; SELECT @name, @age;
SQL-Ex blog

Переменные SQL в скриптах, функциях, хранимых процедурах, SQLCMD и т.д.
Добавил Sergey Moiseenko on Среда, 14 сентября. 2022
- Что такое переменные?
- Что такое типы переменных?
- Как объявить переменную?
- Как установить переменную?
- Зачем использовать переменные?
- Как использовать переменные в хранимых процедурах?
- Как использовать переменные в функциях?
- Как использовать переменные с SQLCMD?
- Как использовать переменные в скриптах?
- Как использовать переменные с SSIS?
Что такое переменные?
Переменная - это значение, которое может динамически меняться в программе. Переменные могут иметь различные типы данных и использоваться в базах данных SQL для придания большей гибкости операторам SQL вместо значений жесткого кодирования, которые постоянно меняются.
Что такое типы переменных?
- Числовые (int, smallint, money, decimal, bigint, numeric, bit, smallmoney, tinyint, float, real)
- Дата и/или время (date, datetime2, datetime, datetimeoffset, smalldatetime, time)
- Символы (char, varchar, text, nchar, nvarchar и ntext)
- Двоичные типы данных, например, image
- XML
- sql_variant, который может поддерживать различные типы данных
- Uniqueidentifier
- Переменные пространственной геометрии и пространственной географии
- Курсоры
- Предложение WHERE
- а также табличные переменные
Как объявить переменную SQL?
Базовый синтаксис объявления переменной следующий:
DECLARE @имя_переменной тип_данных
Для объявления переменной необходимо использовать слово DECLARE, после чего указать имя с префиксом @ и тип данных.
В следующем примере показано, как объявить переменную типа smallint.
DECLARE @myvariable smallint
Следующий пример показывает, как объявить и установить значение переменной, и использовать ее в операторе SELECT.
DECLARE @myvariable smallint = 2
SELECT CONCAT('The variable value is', SPACE(1), @myvariable) as myvariable

Следующий пример объявляет переменную @mytext типа varchar и присваивает ей значение Hello.
DECLARE @mytext nvarchar = 'Hello'
SELECT @mytext message

Обратите внимание, что результат отображает только первую букву слова Hello. Это происходит потому, что значением по умолчанию типа данных nvarchar или varchar является единственный символ. Если вам нужно больше символов, укажите длину. Следующий пример использует длину 10 символов.
DECLARE @mytext nvarchar(10) = 'Hello'
SELECT @mytext message

Следующий пример показывает, как объявить переменную типа даты и присвоить ей значение. Затем мы отображаем дату в формате dd-MM-yyyy.
DECLARE @mydate datetime = '2020-01-01 5:00:00'
SELECT FORMAT(@mydate, 'dd-MM-yyyy') message

Как установить значение переменной SQL?
Вы можете объявить переменную, и сразу присвоить ей значение, как мы делали выше.
Вот другой подход установить переменную двумя строчками кода, а третья строка используется для вывода значения.
DECLARE @mydecimal decimal(10,5)
SELECT @mydecimal = 89.9899
SELECT @mydecimal message
Второй пример присваивает значение непосредственно в операторе DECLARE, как в примерах выше.
DECLARE @mydecimal decimal(10,5) = 89.9899
SELECT @mydecimal message
Третий пример показывает как объявить переменную, а затем присвоить ей значение с помощью оператора SET во второй строке кода.
DECLARE @mydecimal decimal(10,5)
SET @mydecimal = 89.9899
SELECT @mydecimal message
Результаты для всех трех примеров будут одинаковы.

Географические переменные
SQL Server имеет геопространственные типы данных, и в следующем примере мы объявляем географическую переменную с именем location, и присваиваем ей значения.
DECLARE @Location GEOGRAPHY
SET @Location = geography::STGeomFromText('LINESTRING(47.653 -89.358, 48.1 -89.320, 49.0 -88.28)', 4326)
SELECT @Location
Ниже показан результат.

Чтобы больше узнать о типах данных Geography и Geometry, обратитесь к следующей статье.
Табличные переменные
Еще одним типом переменных является табличная переменная. Она подобна таблице, но является переменной. Вы используете префикс @ в имени переменной, а в остальном она подобна базовой таблице.
Следующий пример создает переменную с именем @TestTabe, а затем вставляет значения и выполняет выборку.
DECLARE @TestTable TABLE
(
ID INT,
Name NVARCHAR(40)
)
INSERT INTO @TestTable values(1,'John')
SELECT * from @TestTable

Более подробно о табличных переменных вы можете прочитать в статье.
Зачем использовать переменные SQL?
Переменные в T-SQL позволяют создавать интеллектуальный и динамичный код. Это дает больше возможностей пользователю для получения информации удобным способом, автоматизировать задачи и повторно использовать код. Все языки программирования используют переменные, и T-SQL не является исключением.
Как использовать переменные в хранимых процедурах?
Хранимые процедуры очень популярны в SQL Server. Они используются чаще, чем функции, во многом благодаря своей гибкости и простоте использования.
В следующем примере показывается, как создать хранимую процедуру с именем dbo.uspGetAddress. Входным параметром является @City, и хранимая процедура выведет все столбцы таблицы Person.address, когда город равен городу, переданному через аргумент процедуры. Выполните этот код в своей базе данных AdventureWorks.
CREATE PROCEDURE dbo.uspGetAddress @City nvarchar(30)
AS
SELECT *
FROM Person.Address
WHERE City = @City
GO
В этом примере значением входного параметра будет New York.
EXEC dbo.uspGetAddress @City = 'New York'

Более подробно о хранимых процедурах можно узнать в статье.
Как использовать переменные в функциях SQL?
Вы можете также использовать переменные с функциями. Следующий пример показывает, как создать функцию, которая принимает сумму денег в USD, курс обмена и вычисляет сумму в евро.
CREATE FUNCTION dbo.euros(@amount decimal(10,5), @rate decimal(10,5))
RETURNS decimal(10,5)
AS
BEGIN
RETURN @amount*@rate
END
Следующий пример показывает вызов этой функции.
SELECT dbo.euros(500,1.13) as euros

Как использовать переменные с SQLCMD?
SQLCMD - это командная строка SQL Server. Если вам нравится автоматизировать задачи с помощью bat-файлов, SQLCMD - это то, что вам нужно. Если вы не знакомы с SQLCMD, но хотите познакомиться, обратитесь к следующей статье.
В командной строке Windows выполните эту команду для подключения к SQL, используя аккаунт Windows.
В sqlcmd перейдем к базе данных AdventureWorks, как показано ниже.
1> use adventureworks2019
2> go
Следующий пример установит переменную с именем tablename и значением humanresources.department, а затем сделает выборку из этой переменной.
1> :setvar tablename humanresources.department
1> select * from $(tablename)
2> go
Если все правильно, вы увидите данные в этой таблице.

Как использовать переменные в скрипте?
Вы можете также передать переменные в скрипт. Следующий пример создаст переменную с именем columnname1. Мы присвоим ей значение DepartmentID.
В примере мы создадим скрипт с именем myquery.sqlЮ который сохраним в папке sqlcmd.
USE AdventureWorks2019
GO
SELECT
$(columnname1)
from
[HumanResources].[Department]
Выйдите из sqlcmd, если вы еще находитесь там, и в командной строке Windows выполните команду:
sqlcmd -v columnname1 =DepartmentID -i c:\sqlcmd\myquery.sql
В командной строке будет выполнен оператор "select departmentid from humanresources.department".

Как использовать переменные в SSIS?
Переменные SSIS совершенно отличаются от переменных T-SQL. SSIS - это графическая среда, используемая для интеграции данных и которая имеет свои собственные переменные. Чтобы увидеть переменные в проекте SSIS, пройдите в Extensions > SSIS >Variables или для более ранних версий VS - SSIS > Variables.

Вы можете добавлять, удалять переменные на панели variables.

Существуют различные типы переменных в SSIS, например, Int32, int64, Object и Sbyte.

- SSIS Variable and Expression Example - Part 1
- Getting Started with SQL Server Integration Services SSIS Parameters vs. Variables
- Setup Environment Variables in SQL Server Integration Services
Обратные ссылки
Нет обратных ссылок
Комментарии
Показывать комментарии Как список | Древовидной структурой
Автор не разрешил комментировать эту запись
7) Переменная SQL Server
В MS SQL переменные – это объект, который выступает в качестве заполнителя для области памяти. Переменная содержит одно значение данных.
В этом уроке вы узнаете:
- Что такое переменная?
- Типы переменных: локальные, глобальные
- Как ОБЪЯВИТЬ переменную
- Присвоение значения переменному
- При объявлении переменной используется ключевое слово DECLARE.
- Использование SET
- ИСПОЛЬЗОВАНИЕ ВЫБРАТЬ
- Другие примеры
Типы переменных: локальные, глобальные
MS SQL имеет два типа переменных:
- Локальная переменная
- Глобальная переменная.
Однако пользователь может создать только локальную переменную.
Ниже на рисунке показаны два типа переменных, доступных на сервере MS SQL.

Локальная переменная:
- Пользователь объявляет локальную переменную.
- По умолчанию локальная переменная начинается с @.
- Каждая область локальной переменной имеет ограничение на текущий пакет или процедуру в пределах любого данного сеанса.
Глобальная переменная:
- Система поддерживает глобальную переменную . Пользователь не может их объявить.
- Глобальная переменная начинается с @@
- Он хранит информацию о сеансе .
Как ОБЪЯВИТЬ переменную
- Перед использованием любой переменной в пакете или процедуре, вам необходимо объявить переменную.
- Команда DECLARE используется для переменной DECLARE, которая выступает в качестве заполнителя для ячейки памяти.
- Только после того, как объявление сделано, переменная может использоваться в последующей части пакета или процедуры.
Синтаксис TSQL:
DECLARE
Правила:
- Инициализация – необязательная вещь при объявлении.
- По умолчанию, DECLARE инициализирует переменную в NULL.
- Использование ключевого слова «AS» необязательно.
- Чтобы объявить более одной локальной переменной, используйте запятую после определения первой локальной переменной, а затем определите имя следующей локальной переменной и тип данных.
Примеры объявления переменной:
Запрос: с «КАК»
DECLARE @COURSE_ID AS INT;
Запрос: без ‘AS’
DECLARE @COURSE_NAME VARCHAR (10);
Запрос: ОБЪЯВИТЬ две переменные
DECLARE @COURSE_ID AS INT, @COURSE_NAME VARCHAR (10);
Присвоение значения переменному
Вы можете присвоить значение переменной следующими тремя способами :
- При объявлении переменной используется ключевое слово DECLARE.
- Использование SET
- Использование SELECT
Давайте посмотрим на все три способа в деталях:
При объявлении переменной используется ключевое слово DECLARE.
Синтаксис T-SQL:
DECLARE
Здесь после типа данных мы можем использовать ‘=’, за которым следует присвоить значение
Запрос:
DECLARE @COURSE_ID AS INT = 5 PRINT @COURSE_ID
Использование SET
Иногда мы хотим разделить объявление и инициализацию. SET может использоваться для назначения значений переменной, после объявления переменной. Ниже приведены различные способы назначения значений с помощью SET:
Пример : присвоение значения переменной с помощью SET
Синтаксис:
DECLARE @Local_Variable SET @Local_Variable =
Запрос:
DECLARE @COURSE_ID AS INT SET @COURSE_ID = 5 PRINT @COURSE_ID
Пример : присвоить значение нескольким переменным с помощью SET.
Синтаксис:
DECLARE @Local_Variable _1 , @Local_Variable_2 , SET @Local_Variable_1 = SET @Local_Variable_2 =
Правило: одно ключевое слово SET может использоваться для присвоения значения только одной переменной .
Запрос:
DECLARE @COURSE_ID as INT, @COURSE_NAME AS VARCHAR(5) SET @COURSE_ID = 5 SET @COURSE_NAME = 'UNIX' PRINT @COURSE_ID PRINT @COURSE_NAME
Пример : присвоение значения переменной с помощью скалярного подзапроса с помощью SET
Синтаксис:
DECLARE @Local_Variable_1 , @Local_Variable_2 ,SET @Local_Variable_1 = (SELECT from where )
Правила:
- Заключите запрос в скобки.
- Запрос должен быть скалярным запросом. Скалярный запрос – это запрос с результатами в виде одной строки и одного столбца. В противном случае запрос выдаст ошибку.
- Если запрос возвращает ноль строк, то для переменной устанавливается значение EMPTY, т.е. NULL.
Предположение: предположим, что у нас есть таблица «Guru99» с двумя столбцами, как показано ниже:
Мы будем использовать таблицу «Guru99» в дальнейших уроках
Пример 1: Когда подзапрос возвращает одну строку в результате.
DECLARE @COURSE_NAME VARCHAR (10) SET @COURSE_NAME = (select Tutorial_name from Guru99 where Tutorial_ID = 3) PRINT @COURSE_NAME
Пример 2: когда подзапрос возвращает нулевую строку в результате
DECLARE @COURSE_NAME VARCHAR (10) SET @COURSE_NAME = (select Tutorial_name from Guru99 where Tutorial_ID = 5) PRINT @COURSE_NAME
В данном конкретном случае значением переменной является ПУСТО, то есть ПУСТО (NULL).
ИСПОЛЬЗОВАНИЕ ВЫБРАТЬ
Так же, как SET, мы также можем использовать SELECT для присвоения значений переменным, после объявления переменной с помощью DECLARE. Ниже приведены различные способы присвоения значения с помощью SELECT:
Пример : присвоение значения переменной с помощью SELECT
Синтаксис:
DECLARE @LOCAL_VARIABLE SELECT @LOCAL_VARIABLE =
Запрос:
DECLARE @COURSE_ID INT SELECT @COURSE_ID = 5 PRINT @COURSE_ID
Пример : присвоение значения нескольким переменным с помощью SELECT
Синтаксис:
DECLARE @Local_Variable _1 , @Local_Variable _2 ,SELECT @Local_Variable _1 = , @Local_Variable _2 =
Правила: В отличие от SET, SELECT может использоваться для присвоения значения нескольким переменным, разделенным запятой .
DECLARE @COURSE_ID as INT, @COURSE_NAME AS VARCHAR(5) SELECT @COURSE_ID = 5, @COURSE_NAME = 'UNIX' PRINT @COURSE_ID PRINT @COURSE_NAME
Пример : присвоение значения переменной с помощью подзапроса с помощью SELECT
Синтаксис:
DECLARE @Local_Variable_1 , @Local_Variable _2 ,SELECT @Local_Variable _1 = (SELECT from where )
Правила:
- Заключите запрос в круглые скобки.
- Запрос должен быть скалярным запросом. Скалярный запрос – это запрос с результатом в виде одной строки и одного столбца. В противном случае запрос выдаст ошибку.
- Если запрос возвращает ноль строк, то переменная имеет значение EMPTY, то есть NULL.
- Пересмотрите нашу таблицу ‘Guru99’
Пример 1: Когда подзапрос возвращает одну строку в результате.
DECLARE @COURSE_NAME VARCHAR (10) SELECT @COURSE_NAME = (select Tutorial_name from Guru99 where Tutorial_ID = 1) PRINT @COURSE_NAME
Пример 2: когда подзапрос возвращает нулевую строку в результате
DECLARE @COURSE_NAME VARCHAR (10) SELECT @COURSE_NAME = (select Tutorial_name from Guru99 where Tutorial_ID = 5) PRINT @COURSE_NAME
В данном конкретном случае переменная имеет значение ПУСТО, то есть NULL.
Пример 3. Присвойте значение переменной с помощью регулярного оператора SELECT.
Синтаксис:
DECLARE @Local_Variable _1 , @Local_Variable _2 ,SELECT @Local_Variable _1 = from where
Правила:
- В отличие от SET, если запрос приводит к нескольким строкам, тогда значение переменной устанавливается равным значению последней строки.
- Если запрос возвращает ноль строк, то для переменной устанавливается значение EMPTY, т.е. NULL.
Запрос 1: запрос возвращает одну строку.
DECLARE @COURSE_NAME VARCHAR (10) SELECT @COURSE_NAME = Tutorial_name from Guru99 where Tutorial_ID = 3 PRINT @COURSE_NAME
Запрос 2: запрос возвращает несколько строк.
DECLARE @COURSE_NAME VARCHAR (10) SELECT @COURSE_NAME = Tutorial_name from Guru99 PRINT @COURSE_NAME
В этом особом случае значение переменной устанавливается равным значению последней строки .
Запрос 3: запрос возвращает ноль строк.
DECLARE @COURSE_NAME VARCHAR (10) SELECT @COURSE_NAME = Tutorial_name from Guru99 where Tutorial_ID = 5 PRINT @COURSE_NAME
В этом конкретном случае переменная является ПУСТОЙ, т. Е. NULL.
Другие примеры
Использование переменной в запросе
Запрос:
DECLARE @COURSE_ID Int = 1 SELECT * from Guru99 where Tutorial_id = @COURSE_ID
Интересные факты!
- Локальная переменная может быть отображена с помощью PRINT, а также SELECT COMMAND
- Таблица Тип данных не позволяет использовать «AS» во время объявления.
- SET соответствует стандартам ANSI, а SELECT – нет.
- Создание локальной переменной с именем как @ также разрешено. Мы можем объявить это как, например:
'DECLARE @@ as VARCHAR (10)'
Резюме:
- Переменные – это объект, который действует как заполнитель.
- Существуют два типа переменных: локальный и глобальный
- Мы можем назначить переменную следующими тремя способами: При использовании DECLARE
Использование SET
USING SELECT