Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Nous utilisons linstruction CREATE VIEW, auquel nous associons le nom que nous
voulons lui donner.
Le mot cl AS indique que nous allons spcifier la requte SELECT qui va nous permettre de
slectionner les colonnes dune ou plusieurs tables, afin den copier les proprits dans la vue
que nous crons.
Il est bon de prciser que des clauses existantes pour une instruction SELECT classique ne
conviendra pas pour une instruction SELECT servant crer nos vues. Ces instructions ne
doivent pas tre autre que linstruction SELECT, et les clauses FROM et WHERE.
Concernant les options 1 et 2 :
Loption 1 correspond aux options suivantes : WITH ENCRYPTION, WITH
SCHEMABINDING, WITH VIEW_METADATA ; et loption 2 correspond loption
suivant : WITH WHECK OPTION. Dcouvrons les actions de chacune des ces options sur
notre vue.
-WITH ENCRYPTION : permet de crypter le code dans les tables systme. Attention :
personne ne peut consulter le code de la vue, mme pas son crateur. Lors de la modification
1
Cour Implmentation de SQL SERVER S4 2015
de la vue avec linstruction ALTER VIEW, il sera ncessaire de prciser de nouveau cette
option pour continuer protger le code de la vue.
-WITH SCHEMABINDING : permet de lier la vue au schma. Avec cette option, il est
impratif de nommer nos objets de la faon suivante : schma.objet.
- WITH VIEW_METADATA : permet de demander SQL Server de renvoyer les
mtadonnes correspondantes la vue, et non celles qui composent la vue.
- WITH WHECK OPTION : permet de ne pas autoriser linsertion ni la modification des
donnes ne correspondant pas aux critres de la requte.
Voici un exemple
Cet exemple permet de crer une vue dont le nom est Ma_Premire_Vue, avec loption WITH
ENCRYPTION, et cette vue contiendra les colonnes Id_Client_archive et
Id_Commande_archive de la table Archive. Vous pourrez alors retrouver votre vue dans le
sous dossier de votre explorateur dobjet, comme prsent dans limage ci-dessous :
2
Cour Implmentation de SQL SERVER S4 2015
Aprs avoir cliqu sur Nouvelle vue, les deux fentres suivantes apparaissent au sein
mme de SSMS.
La premire vous aidera slectionner des tables sur lesquelles la vue portera.
La seconde vous permet de slectionner les colonnes utiliser et construire votre requte
Pour ajouter une table, cliquez sur le nom de la table voulue, et slectionnez Ajouter .
Vous pouvez en ajouter plusieurs, via lutilisation de la touche [Control]. On remarquera que
les tables, aussitt slectionnes, sont modlises dans la partie suprieure de la seconde
fentre.
Pour slectionner les colonnes mettre dans votre vue, cochez les cases correspondant vos
colonnes dans les tables modlises dans la partie suprieure de la fentre. Lorsque lon coche
3
Cour Implmentation de SQL SERVER S4 2015
des cases, on peut remarquer que le nom de ses colonnes est ajout dans la partie centrale de
la fentre.
On peut alors modifier le type de tri, lordre, ou encore le filtre de cette vue en changeant les
caractristiques dans la mme partie. Toutes les actions effectues permettront de gnrer le
code de la vue. Voici un exemple :
Lorsque vous avez fini de concevoir votre vue, faites un clic droit sur longlet de la fentre
dans SSMS, et choisissez Enregistrer . Donnez-lui un nom. Vous venez de crer votre vue.
3. Suppression dune vue
3.1 Avec du code T-SQL
La structure de suppression dune vue est la mme que pour tout objet de la base de donnes. Elle
est la suivante :
4
Cour Implmentation de SQL SERVER S4 2015
Grce au bouton, Afficher les Dpendances , Il est possible de mettre en vidence les
dpendances existantes entre les objets de la base et la vue slectionne. Une nouvelle fentre
saffiche lcran, dans laquelle vous pourrez choisir les diffrents types de dpendances.
Il vous suffit juste de savoir si vous voulez afficher les objets dpendants de la vue ou ceux
dont dpend la vue en question.
5
Cour Implmentation de SQL SERVER S4 2015
6
Cour Implmentation de SQL SERVER S4 2015
On peut dj remarquer la prsence dune procdure stocke, Ajout_Client, que vous devez
aussi procder si vous avez tlcharg le script de la base que nous utilisons pour notre cours,
la base de donnes Entreprise.
Maintenant, pour crer une nouvelle procdure stocke en gnrant le code automatiquement,
il vous suffit de faire
un click droit sur le nud Procdure stockes et de choisir loption Nouvelle procdure
stocke .
Une nouvelle fentre de requte souvre dans SSMS, vous proposant le code pour crer une
nouvelle procdure stocke. Le code est le suivant :
Nous crons une procdure stocke avec linstruction DDL CREATE PROCEDURE suivie
du nom donner la procdure.
7
Cour Implmentation de SQL SERVER S4 2015
Les instructions AS BEGIN et END sont les dlimiteurs du code utiliser par la procdure
stocke. Toutes les instructions comprises entre ces deux mots cls seront prises en compte et
excutes par la procdure stocke.
Exemple
Maintenant que nous avons prsent la structure gnrale de cration dune procdure
stocke, prenons un exemple concret pour lillustrer. Nous alors nous appuyer sur la
procdure stocke dj cre dans le script de notre base de donnes Entreprise, la procdure
stocke Ajout_Client. Voici le code de cration dune procdure stocke dajout client :
8
Cour Implmentation de SQL SERVER S4 2015
On remarque parfaitement que lon dfinit les paramtres avec des variables en dbut de code,
aprs linstruction CREATE PROCEDURE. Ensuite, entre les blocs AS BEGIN et END,
nous faisons un simple dans la table INSERT INTO, Client et nous passons les paramtres de
notre procdure stocke en valeur, aprs linstruction VALUES.
Excution de la procdure
Il est alors possible dutiliser cette procdure stocke de la faon suivante :
9
Cour Implmentation de SQL SERVER S4 2015
Dans un premier temps, avec linstruction USE, placez vous dans la base contenant la
procdure stocke supprimer. Si vous ne le faites pas, la procdure stocke sera indiqus
comme un lment non existant dans la base par SQL Server. Utilisez ensuite les mots cl
DROP PROCEDURE suivit du nom de la procdure stocke pour supprimer celle-ci.
Excutez le code. Vous venez de supprimer votre procdure stocke.
Avec linterface graphique, nous allons procder comme pour une modification de la
procdure. Etendez dans un premier temps tous les nuds qui mnent la procdure stocke
supprimer, comme ceci :
10
Cour Implmentation de SQL SERVER S4 2015
Oprez alors un simple click droit sur la procdure stocke choisie, et slectionnez loption
Supprimer . Une nouvelle fentre apparait. Il sagit simplement dune validation de votre
choix, aucune autre option nest disponible. Cliquez sur OK . Votre procdure stocke est
supprime.
3. Gestion des fonctions utilisateurs
3.1. Prsentation
Les fonctions utilisateurs sont de plusieurs types. Trois pour tre prcis. Il y a les fonctions
scalaires, les fonctions tables en ligne et les fonctions multi-instructions.
Une fonction peu accepter des arguments, et ne peu retourner que deux types de donnes :
une valeur scalaire ou une table.
Les fonctions scalaires retournent, grce au mot cl RETURN, une valeur scalaire. Tous
les types de donnes peuvent tre retourns par une fonction scalaire hors mis timestamp,
table, cursor, text, ntext et image.
Les fonctions table ne retourne comme rsultat, quune table, qui est le rsultat dune
instruction SELECT.
3.2. Cration dune procdure stocke
La cration dune fonction se fait par linstruction DDL CREATE FUNCTION, habituelle
lors de la cration dobjets dans la base. De plus, il existe un multitude de fonctions systme,
utilisable par simple appel de celle-ci. Elles sont disponibles dans lexplorateur dobjets ainsi.
Dtaillons maintenant
La cration dune fonction ce fais quasiment de la mme manire pour les trois types.
Nous allons bien sur prsenter les trois avec trois exemples, simplement nous allons le faire
dans la mme partie. Voici les deux syntaxes principales de cration de fonction (scalaire et
table).
Nous pouvons y accder en dployant les nuds de lexplorateur dobjet jusquau noeud
Fonctions (bases de donnes- on sectionne la base programabilit- fonction), (appliquer
un click droit sur fonction et choisir loption Nouveau en suite choisir fonction table
incluse ou fonction scalaire .) ou directement aprs le clique sur fonction choisi le type de la
fonction ( fonctions tables fonctions- scalaire ,) un clic droit sur le type slectionn et
choisir nouvelle fonction .
11
Cour Implmentation de SQL SERVER S4 2015
Fonction table :
Les fonctions table et table multi-instructions sont diffrentes dans le sens o le format de
retour est diffrent. En effet, la fonction table retourne la solution dun requte SELECT, alors
12
Cour Implmentation de SQL SERVER S4 2015
que la fonction table multi-instruction, retournera une variable de type table, contenant
linstruction SELECT opre par la fonction.
Prenons deux exemples pour mieux comprendre la syntaxe :
Fonction table simple :
Dans ce cas la, aprs linstruction de cration de fonction, CREATE FUNCTION, on indique
simplement que la fonction retourne une donne de type table avec la clause RETURNS
TABLE. Par la suite, aprs la clause AS, on prcise quelle instruction doit tre retourne dans
la valeur de retour de type table de la fonction.
Fonction table multi-instruction :
Dans ce cas, en revanche, la valeur de retour est toujours une table, simplement, on donne
une variable ce type et on dfinit les colonnes quelle contient. Les valeurs dfinies par le
SELECT y seront alors contenues. Il faut faire attention, en contrepartie, ce que le nombre
de colonnes dans la variable retourne par la fonction ait le mme nombre de colonnes que le
rsultat retourn par linstruction SELECT.
Fonction scalaire
13
Cour Implmentation de SQL SERVER S4 2015
Ici, on cr une fonction scalaire que lon reconnait grce linstruction RETURNS int. On se
sert bien entendu de linstruction CREATE FUNCTION suivie du nom de la fonction
utiliser et des paramtres prendre en compte entre parenthses. Les clauses AS BEGIN et
END dclarent dans lordre, le dbut et la fin de la fonction. Cette fonction retourne une
valeur qui dsigne le nombre darticle prsents, pour un stock pass en paramtre.
Dans les fonctions, certaines options sont disponibles, comme dans les procdures stockes.
Elles vont vous permettre certaines actions sur cette fonction, et celle-ci sont appelables
directement aprs la dfinition du type de retour de la fonction :
- WITH SCHEMABINDING : Cette option permet de lier la fonction tous les objets de la
base auxquels elle fait rfrence. Dans ce cas, la suppression et la mise jour de nimporte
quel objet de la base, li la fonction est impossible.
- WITH ENCRYPTION : Permet de crypter le code dans la table systme.
14
Cour Implmentation de SQL SERVER S4 2015
15