Transact-SQL, souvent abrégé en T-SQL ou TSQL, est une extension propriétaire de SQL de Microsoft et Sybase. Transact-SQL étend la norme SQL pour inclure des fonctionnalités supplémentaires non incluses dans la norme SQL.
Voici un exemple d'instruction T-SQL simple :
CREATE DATABASE Movies;
Il s'agit d'un simple T -Exemple SQL. Cela créera une nouvelle base de données appelée Films.
Cependant, T-SQL fournit des options supplémentaires à inclure dans cette instruction, telles que l'emplacement des fichiers de base de données, la taille de ces fichiers, leur taille maximale, etc.
Certaines fonctionnalités de T-SQL incluent :
1. Programmation
2. Variables locales
3. traitement, traitement des données, mathématiques et autres fonctions
4. Modifications apportées aux instructions DELETE et UPDATE. Ils permettent notamment d'ajouter une clause FROM, qui permet l'inclusion de jointures.
5. T-SQL possède une instruction BULK INSERT, qui vous permet d'importer des fichiers de données dans des tables ou des vues de base de données dans un format spécifié par l'utilisateur.
L'un des principaux avantages des extensions ci-dessus est que vous disposez de plus de programmabilité lorsque vous travaillez avec T-SQL et SQL. Par exemple, les procédures stockées vous permettent d'incorporer une logique de programmation dans la base de données. Vous pouvez transmettre un ou plusieurs paramètres à une procédure stockée, et la procédure stockée renverra une sortie qui change en fonction de la valeur des paramètres.
T-SQL contient également un grand nombre de fonctions intégrées, ainsi que la prise en charge des fonctions définies par l'utilisateur.
Un exemple de fonction intégrée
Voici un autre exemple basique, utilisant cette fois l'une des fonctions intégrées de T-SQL :
SELECT GETDATE();
Sortie :
2018-05-06 23:30:37.003
Dans cet exemple, nous utilisons la fonction GETDATE() de T-SQL pour renvoyer la date et l'heure actuelles. Ceci est utilisé avec l'instruction SELECT, qui est une instruction SQL courante qui renvoie des données.
On peut également utiliser cette fonction comme paramètre d'une autre fonction. Voici un exemple :
SELECT FORMAT(GETDATE(), 'MMM');
Résultat :
May
Historique de T-SQL
Pendant que Transact-SQL( et SQL Server) est plus connu sous le nom de Microsoft, mais il est en réalité le résultat d'une collaboration entre Microsoft et Sybase qui a débuté en 1987. Ce partenariat a été dissous en 1994.
Depuis lors, T-SQL a continué à être pris en charge par les produits de base de données publiés par les deux sociétés, cependant, chaque société a développé ses propres produits de base de données dans sa propre direction. Par conséquent, il existe certaines différences entre Sybase T-SQL et Microsoft T-SQL.
T-SQL et outils GUI
Transact-SQL est le cœur de SQL Server. La plupart des opérations dans SQL Server sont effectuées à l'aide de T-SQL. Cela est vrai même si vous utilisez un outil GUI tel que SSMS ou DBeaver sans réellement effectuer de programmation. Chaque fois que vous utilisez une application pour interagir avec SQL Server, l'application utilise T-SQL en arrière-plan pour effectuer les tâches spécifiées.
Mais SQL Server n'est pas le seul système de gestion de base de données à prendre en charge Transact-SQL. Microsoft Azure SQL Database prend également en charge T-SQL. La plupart des fonctionnalités T-SQL utilisées par les applications sont entièrement prises en charge dans Microsoft SQL Server et Azure SQL Database (bien qu'il existe quelques exceptions).
À propos de la commande GO
Quiconque a utilisé T-SQL est peut-être familier avec la commande GO. Ce mot-clé est généralement placé à la fin d'un lot d'instructions. Par exemple, le premier exemple ci-dessus pourrait également s'écrire comme ceci :
CREATE DATABASE Movies;
GO
Cependant, la commande GO ne fait pas réellement partie de Transact-SQL . En fait, la commande GO ne peut même pas occuper la même ligne d'une instruction Transact-SQL.
GO est l'une des commandes reconnues par les utilitaires sqlcmd et osql et l'éditeur de code SQL Server Management Studio qui facilite la lisibilité et l'exécution des lots et des scripts. La commande GO signale la fin d'un lot d'instructions Transact-SQL à un utilitaire SQL Server.
Les utilitaires SQL Server interprètent GO comme un signal indiquant qu'ils doivent envoyer le lot actuel d'instructions Transact-SQL à une instance de SQL Server. Le lot actuel d'instructions comprend toutes les instructions saisies depuis la dernière fois que l'opération a été effectuée ou, s'il s'agit de la première fois que l'opération a été effectuée, depuis le début de la session ad hoc ou de l'exécution du script.
Autres extensions SQL propriétaires
Transact-SQL n'est pas la seule extension du standard SQL. Différents systèmes de bases de données ont leurs propres extensions. Par exemple, Oracle utilise un langage procédural propriétaire PL/SQL et PostgreSQL utilise un langage procédural PL/pgSQL.
Bien que les extensions SQL propriétaires aient leurs avantages (comme des fonctionnalités étendues), elles ont aussi des inconvénients. Un inconvénient majeur est qu’ils peuvent rendre les choses difficiles si vous devez porter une base de données d’un système à un autre. Par exemple, si votre organisation décide soudainement d'utiliser Oracle au lieu de SQL Server, vous devrez peut-être parcourir tout votre code SQL Server et le réécrire pour Oracle. Cela nécessite également que vous soyez familier avec la syntaxe des deux systèmes.
Recommandations associées : "Tutoriel MySQL"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!