Usando variáveis e parâmetros (Mecanismo de Banco de Dados)
O Transact-SQL tem vários modos para passar dados entre instruções Transact-SQL. Eles incluem o seguinte:
Variáveis locais Transact-SQL.
Uma variável Transact-SQL é um objeto em lotes e scripts Transact-SQL que pode conter um valor de dados. Depois que a variável for declarada, ou definida, uma instrução em um lote pode definir a variável para um valor e uma instrução posterior no lote pode obter o valor da variável. Por exemplo:
USE AdventureWorks; GO DECLARE @EmpIDVar int; SET @EmpIDVar = 1234; SELECT * FROM HumanRresources.Employee WHERE EmployeeID = @EmpIDVar;
Observação O número máximo de variáveis locais que podem ser declaradas em um lote é 10.000.
Parâmetros Transact-SQL.
Um parâmetro é um objeto usado para passar dados entre um procedimento armazenado e o lote ou script que executa o procedimento armazenado. Os parâmetros podem ser de entrada ou de saída. Por exemplo:
USE AdventureWorks; GO CREATE PROCEDURE ParmSample @EmpIDParm int AS SELECT EmployeeID, Title FROM HumanResources.Employee WHERE EmployeeID = @EmpIDParm GO EXEC ParmSample @EmpIDParm = 109 GO
Aplicativos usam variáveis de aplicativo e marcadores de parâmetro para trabalhar com os dados de instruções Transact-SQL.
Variáveis de aplicativo
As linguagens de programação de aplicativo, como C, C++, Basic e Java, têm suas próprias variáveis para manter dados. Aplicativos que usam APIs do banco de dados devem mover os dados retornados por instruções Transact-SQL em variáveis de aplicativo antes de poder trabalhar com os dados. Normalmente, isto é feito usando um processo chamado associação. O aplicativo usa uma função API para associar a coluna de conjunto de resultados a uma variável de programa. Quando uma linha é encontrada, o provedor ou driver API move os dados da coluna para a variável do programa associado.
Marcadores de parâmetro
Marcadores de parâmetro têm suporte por APIs de bancos de dados com base em ADO, OLE DB e ODBC. Um marcador de parâmetro é um ponto de interrogação (?) colocado no local de uma expressão de entrada em uma instrução Transact-SQL. O marcador de parâmetro é então associado a uma variável de aplicativo. Isto permite que os dados de variáveis de aplicativo sejam usados como entrada em instruções Transact-SQL. Marcadores de parâmetro também permitem que parâmetros de saída de procedimento e códigos de retorno sejam associados a variáveis de aplicativo. Os dados de saída serão retornados às variáveis associadas quando o procedimento for executado. A API DB-Library também oferece suporte à associação de parâmetro de procedimento armazenado e a códigos de retorno para variáveis de programa.