A l'instar d'Oracle avec son PL/SQL, le SGBD de Microsoft
utilise une version améliorée et propriétaire du langage
SQL, développée à l'époque où SQL Server était un produit
commun au géant de Redmond et à Sybase. Mais celle-ci reste une brique essentielle de son fonctionnement. Les développeurs
devant travailler avec ce SGBD ont donc besoin de le connaître
pour en exploiter toutes les possiblités.
Transact-SQL
(ou T-SQL) représente moins un nouveau langage qu'une suite
d'ajouts au SQL classique, pour prendre en compte les spécificités
de la plate-forme de Microsoft. De fait, toutes les commandes
SQL standards sont reconnues, et T-SQL en ajoute de nouvelles
liées aux possibilités de SQL Server. Les développeurs habitués
à SQL ne seront donc pas perdus.
T-SQL offre notamment à l'utilisateur la possibilité de faire
appel à plusieurs fonctions pour gérer certains types de données
spécifiques. Ces fonctions peuvent être regroupées en trois
catégories, en fonction des données pour lesquelles elles
sont conçues : les chaînes, les dates, les expressions mathématiques,
les fonctions de conversion, les fonctions d'agrégation, et
enfin les fonctions plus générales ou qui ne rentrent pas
dans les catégories précédentes.
Ces fonctions sont assez classiques, on les retrouve (parfois
sous un nom différent) dans la plupart des langages évolués.
Voici les noms de quelques-unes, qui devraient être assez parlants.
Fonctions de chaînes : substring(),
upper(), lower(), charindex(),
ltrim(), rtrim(),
replicate(), soundex()
Fonctions de conversion : char(),
str(), ascii(),
convert()
Fonctions de date : getdate(),
datename(), datediff()
Fonctions mathématiques : floor(),
round(), abs(),
pi(), rand(),
exp(), sin(),
cos(), tan(),
log(), exp()
Fonctions d'agrégation : count(),
sum(), avg(),
max(), min(),...
Fonctions générales : isnull(), isnumeric(),
isdate()
T-SQL s'écrit principalement dans le cadre de procédures
stockées, c'est-à-dire en tant que jeu de commandes sauvegardées
sur le serveur et mises à disposition de tout programme qui
y accède. Les procédures stockées permettant de soulager le
serveur de certaines tâches trop intensives, ainsi que d'éviter
de jongler entre fonctions scriptées (ASP
) et requêtes
SQL, tout élargissant les possibilités offertes
.
Par ailleurs, cela permet de dynamiser SQL grâce à la combinaison
de plusieurs fonctions au sein de procédures stockées.
Les procédures sont créées de la manière suivante :
CREATE PROCEDURE ma_procedure
AS
série de requêtes et fonctions SQL
RETURN
par exemple :
CREATE PROCEDURE spBonsClient
AS
SELECT nom, nbrAchats FROM clients
WHERE nbrAchats >= '5000'
ORDER BY nbrAchats
RETURN
On appelle ensuite la procédure :
EXECUTE spBonsClients
|
Forum |
|
Réagissez
dans les forums
de JDN Développeurs
|
SQL Server dispose d'origine d'un jeu conséquent de
procédures stockées : elles commencent par sp_
(pour Stored Procedure) ou xp_
(pour Extended Stored Procedures). La liste
complète est disponible sur le site MSDN.
Reste à étudier plus avant T-SQL : à suivre...
|