Transact-SQL
( Apprenez comment et quand supprimer ce message ) Transact-SQL ( T-SQL ) est une extension propriétaire de Microsoft et Sybase du langage SQL (Structured Query Language) utilis...
Transact-SQL ( T-SQL ) est une extension propriétaire de Microsoft et Sybase du langage SQL (Structured Query Language) utilisée pour interagir avec les bases de données relationnelles . T-SQL étend la norme SQL en y intégrant la programmation procédurale , les variables locales , diverses fonctions de support pour le traitement des chaînes de caractères, des dates, les calculs mathématiques, etc., ainsi que des modifications des instructions DELETE et UPDATE .
Transact-SQL est essentiel à l'utilisation de Microsoft SQL Server . Toutes les applications qui communiquent avec une instance de SQL Server le font en envoyant des instructions Transact-SQL au serveur, quelle que soit leur interface utilisateur.
Les procédures stockées dans SQL Server sont des routines exécutables côté serveur. Leur principal avantage réside dans la possibilité de passer des paramètres.
Variables
Transact-SQL fournit les instructions suivantes pour déclarer et définir des variables locales : DECLARE, SETet SELECT.
Contrôle du débit
Les mots clés pour le contrôle de flux dans Transact-SQL incluent BEGINet END, BREAK, CONTINUE, GOTO, IFet ELSE, RETURN, WAITFOR, et WHILE.
IFet ELSEautoriser l'exécution conditionnelle. Cette instruction par lots affichera « C'est le week-end » si la date actuelle est un jour de week-end, ou « C'est un jour de semaine » si la date actuelle est un jour de semaine. (Remarque : ce code suppose que le dimanche est configuré comme premier jour de la semaine dans les @@DATEFIRSTparamètres.)
BEGINet ENDmarquer un bloc d'instructions . Si plusieurs instructions doivent être contrôlées par la condition dans l'exemple ci-dessus, nous pouvons utiliser ` BEGINand` ENDcomme ceci :
WAITFORCette instruction permet d'attendre pendant une durée déterminée ou jusqu'à une heure précise. Elle peut être utilisée pour différer l'exécution ou la bloquer jusqu'à l'heure définie.
RETURNpermet de revenir immédiatement d'une procédure stockée ou d'une fonction.
BREAKLa fonction ` stop` met fin à la boucle englobante WHILE, tandis que CONTINUEla fonction `run` déclenche l'itération suivante. Un exemple de WHILEboucle est donné ci-dessous.
Modifications apportées aux instructions DELETE et UPDATE
En Transact-SQL, les instructions DELETEAND UPDATEsont améliorées pour permettre l'utilisation de données provenant d'une autre table dans l'opération, sans nécessiter de sous-requête :
DELETEaccepte les tables jointes dans laFROMclause, de la même manière queSELECT. Dans ce cas, le nom ou l'alias de la table à supprimer de la jointure est placé entreDELETEetFROM.UPDATEPermetFROMd'ajouter une clause. La table à mettre à jour peut être soit jointe dans laFROMclause et référencée par un alias, soit référencée uniquement au début de l'instruction, conformément au SQL standard.
Cet exemple supprime tous SUPPRIMER u DE users AS u JOINTURE INTERNE user_flags AS f SUR u . id = f . id OÙ f . name = ' idle' ;