Использование переменных и параметров (ядро СУБД)
Язык Transact-SQL имеет несколько способов для передачи данных между инструкциями Transact-SQL. Эти способы включают:
Локальные переменные Transact-SQL.
Переменная Transact-SQL является объектом в пакетах и сценариях Transact-SQL, которая может содержать значение данных. После объявления переменной или определения одна инструкция пакета может присвоить переменной значение, и более поздняя инструкция пакета может получить значение из переменной. Например:USE AdventureWorks; GO DECLARE @EmpIDVar int; SET @EmpIDVar = 1234; SELECT * FROM HumanRresources.Employee WHERE EmployeeID = @EmpIDVar;
Примечание. Максимальное количество локальных переменных, которые могут быть объявлены в пакете, равно 10 000. Параметры Transact-SQL.
Параметр — объект, используемый для передачи данных между хранимой процедурой и пакетом или сценарием, который выполняет хранимую процедуру. Параметры могут быть либо входными, либо выходными. Например:USE AdventureWorks; GO CREATE PROCEDURE ParmSample @EmpIDParm int AS SELECT EmployeeID, Title FROM HumanResources.Employee WHERE EmployeeID = @EmpIDParm GO EXEC ParmSample @EmpIDParm = 109 GO
Приложения используют переменные приложения и маркеры параметра для работы с данными из инструкций Transact-SQL.
- Переменные приложения.
Прикладные языки программирования типа C, C++, Basic и Java имеют собственные переменные для хранения данных. Приложения, использующие функции API базы данных, должны переместить данные, возвращенные инструкциями Transact-SQL в переменные приложения прежде, чем они смогут работать с данными. Обычно это делается с помощью процесса, называемого привязкой. Приложение использует функцию API, чтобы привязать столбец результирующего набора к переменной программы. Когда строка выбрана, поставщик API или драйвер перемещают данные из столбца в привязанную переменную программы. - Маркеры параметров.
Маркеры параметров поддерживаются интерфейсами прикладного программирования ADO, OLE DB и баз данных на основе ODBC. Маркер параметра — вопросительный знак (?), помещенный в месте входного выражения в инструкции Transact-SQL. Маркер параметра затем привязывается к переменной приложения. Это позволяет использовать данные из переменных приложения в качестве входных аргументов в инструкциях Transact-SQL. Маркеры параметра также позволяют выполнить привязку к переменным приложения выходных параметров хранимых процедур и кодов возврата. После выполнения процедуры выходные данные возвращаются привязанным переменным. Интерфейс API DB-Library также поддерживает привязывание параметра хранимой процедуры и кодов возврата к переменным программы.
См. также
Другие ресурсы
DECLARE @local\_variable (Transact-SQL)
SELECT (Transact-SQL)
Функции (Transact-SQL)
SET @local\_variable (Transact-SQL)