Usar variables y parámetros (motor de base de datos)
Transact-SQL ofrece varias maneras para pasar datos entre instrucciones Transact-SQL. Entre ellas figuran las siguientes:
Variables locales de Transact-SQL
Una variable de Transact-SQL es un objeto de lotes y scripts Transact-SQL que puede contener un valor de datos. Una vez declarada o definida la variable, una instrucción de un lote puede establecer un valor para la variable y otra instrucción posterior del lote puede obtener el valor de la variable. Por ejemplo:
USE AdventureWorks; GO DECLARE @EmpIDVar int; SET @EmpIDVar = 1234; SELECT * FROM HumanRresources.Employee WHERE EmployeeID = @EmpIDVar;
[!NOTA]
El número máximo de variables locales que pueden declararse en un lote es de 10.000.
Parámetros de Transact-SQL
Un parámetro es un objeto usado para pasar datos entre un procedimiento almacenado y el lote o script que lo ejecuta. Los parámetros pueden ser de entrada o de salida. Por ejemplo:
USE AdventureWorks; GO CREATE PROCEDURE ParmSample @EmpIDParm int AS SELECT EmployeeID, Title FROM HumanResources.Employee WHERE EmployeeID = @EmpIDParm GO EXEC ParmSample @EmpIDParm = 109 GO
Las aplicaciones usan variables de aplicación y marcadores de parámetros para trabajar con los datos de las instrucciones Transact-SQL.
Variables de aplicación
Los lenguajes de programación de aplicaciones como C, C++, Basic y Java tienen sus propias variables para contener datos. Las aplicaciones que usan las API de bases de datos tienen que mover los datos devueltos por las instrucciones Transact-SQL a las variables de aplicación antes de que puedan trabajar con los datos. Esto se hace normalmente en un proceso llamado enlace. La aplicación usa una función API para enlazar la columna del conjunto de resultados a una variable del programa. Cuando se recupera una fila, el proveedor o controlador de API mueve los datos desde la columna a la variable del programa enlazada.
Marcadores de parámetros
Los marcadores de parámetros son admitidos por las API de bases de datos basadas en ADO, OLE DB y ODBC. Un marcador de parámetros es un signo de interrogación (?) colocado en la posición de una expresión de entrada en una instrucción Transact-SQL. El marcador de parámetros se enlaza a una variable de aplicación. Esto permite que los datos de variables de aplicación se usen como entradas en las instrucciones Transact-SQL. Los marcadores de parámetros también permiten que los parámetros de salida y los códigos de retorno de los procedimientos almacenados se enlacen a variables de aplicación. Cuando se ejecuta el procedimiento, los datos de salida se devuelven a las variables enlazadas. La API DB-Library admite también que se enlacen los parámetros de los procedimientos almacenados y los códigos de retorno a las variables del programa.