Utilisation de variables et de paramètres (moteur de base de données)
Transact-SQL dispose de plusieurs méthodes pour faire passer des données entre des instructions Transact-SQL, notamment :
Variables locales Transact-SQL.
Une variable Transact-SQL est un objet faisant partie de traitements ou de scripts Transact-SQL et qui peut contenir une valeur de donnée. Une fois la variable déclarée, ou définie, une instruction d'un traitement peut lui affecter une valeur et une autre instruction du même traitement peut ensuite utiliser cette valeur. Par exemple :
USE AdventureWorks2008R2; GO DECLARE @EmpIDVar int; SET @EmpIDVar = 1234; SELECT * FROM HumanRresources.Employee WHERE BusinessEntityID = @EmpIDVar;
Notes
Dans un même traitement, vous pouvez déclarer au maximum 10 000 variables locales.
Paramètres Transact-SQL.
Un paramètre est un objet utilisé pour faire passer des données entre une procédure stockée et le traitement ou le script qui exécute cette procédure. Il peut s'agir de paramètres d'entrée ou de paramètres de sortie. Par exemple :
USE AdventureWorks2008R2; GO CREATE PROCEDURE ParmSample @EmpIDParm int AS SELECT BusinessEntityID, JobTitle FROM HumanResources.Employee WHERE BusinessEntityID = @EmpIDParm ; GO EXEC ParmSample @EmpIDParm = 109 ; GO
Les applications utilisent des variables d'application et des marqueurs de paramètres pour traiter les données des instructions Transact-SQL.
Variables d'application
Les langages de programmation d'application comme C, C++, Basic et Java possèdent leurs propres variables pour retenir la valeur des données. Les applications qui utilisent les API de bases de données doivent passer les données retournées par les instructions Transact-SQL aux variables d'application avant de pouvoir traiter les données. Ceci s'effectue par le processus appelé liaison. L'application utilise une fonction API pour lier la colonne d'un jeu de résultats à une variable de programme. Lorsqu'une ligne est extraite, le fournisseur ou le pilote de l'API place les données de la colonne dans la variable de programme liée.
Marqueurs de paramètres
Les marqueurs de paramètres sont pris en charge par les API de bases de données ADO, OLE DB et ODBC. Un marqueur de paramètre est un point d'interrogation (?) placé en lieu et place d'une expression d'entrée dans une instruction Transact-SQL. Le marqueur de paramètre est ensuite lié à une variable d'application. Cela permet aux données des variables d'application d'être utilisées comme entrées dans les instructions Transact-SQL. Les marqueurs de paramètres permettent également aux paramètres de sortie de la procédure stockée et aux codes de retour d'être liés aux variables d'application. Les données de sortie sont ensuite renvoyées aux variables liées lorsque la procédure est exécutée. L'API DB-Library prend également en charge la liaison des paramètres de procédures stockées et des codes de retour aux variables de programme.