Sql

374 vues

Publié le

by noredine bahri

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
374
Sur SlideShare
0
Issues des intégrations
0
Intégrations
15
Actions
Partages
0
Téléchargements
17
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Sql

  1. 1. SQL Procedure Stocké Source : www.nava.do-talk.com www.siteduzero.comRéaliser par : Noredine BAHRI
  2. 2. Procedure Stocké • Définition • Les paramètres dune procédure stockée • Création et utilisation dune procédure • Suppression dune procédure • Avantages, inconvénients
  3. 3. Définition Les procédures stockées permettent dautomatiser des actions, qui peuvent être très complexes, est en fait une série dinstructions SQL désignée par un nom. Lorsque lon crée une procédure stockée, on lenregistre dans la base de données que lon utilise, au même titre quune table par exemple. Une fois la procédure créée, il est possible dappeler celle-ci, par son nom. Les instructions de la procédure sont alors exécutées.
  4. 4. Les paramètres dune procédure stockéeCREATE PROCEDURE nom_procodure ([parametre1],[parametre2…]])CORPS DE LA PROCEDUREDécodons tout ceci.CREATE PROCEDURE : sans surprise, il sagit de la commande à exécuter pourcréer une procédure. On fait suivre cette commande du nom que lon veutdonner à la nouvelle procédure.([parametre1 [, parametre2, ...]]) : À lintérieur de ces parenthèses, on définit leséventuels paramètres de la procédure. Ces paramètres sont des variables quipourront être utilisées par la procédure.corps de la procédure : cest là que lon met le contenu de la procédure, ce quiva être exécuté lorsquon lance la procédure. Cela peut être soit une seulerequête, soit un bloc dinstructions.
  5. 5. EXEMPLE SELECT * FROM proff CREATE PROCEDURE view_proff AS SELECT * FROM proff
  6. 6. Requitte avec paramètre SELECT nom_prof,prenom_prof,pseudo,email,ville,branche From proff CREATE PROCEDURE fot @nom varchar(60), @prenom varchar(60), @pseudo varchar(60), @email varchar(60), @ville varchar(60), @branche varchar(60) AS SELECT nom_prof,prenom_prof,pseudo,email,ville,branche From proff Where nom_prof=@nom AND prenom_prof=@prenom AND Pseudo=@pseudo AND Email=@email AND Ville=@ville AND Branche=@branche
  7. 7. Parametre avec BEGIN & END SELECT nom_prof,prenom_prof,pseudo,email,ville,branche From proff CREATE PROCEDURE fot @nom varchar(60), @prenom varchar(60), @pseudo varchar(60), @email varchar(60), @ville varchar(60), @branche varchar(60) AS BEGIN SELECT nom_prof,prenom_prof,pseudo,email,ville,branche From proff Where nom_prof=@nom AND prenom_prof=@prenom AND Pseudo=@pseudo AND Email=@email AND Ville=@ville AND Branche=@branche END
  8. 8. IF OBJECT_ID(fot) IS NOT NULL DROP PROCEDURE fot;GOCREATE PROCEDURE fot@nom varchar(50) = NULL -- NULL default valueAS SET NOCOUNT ON;-- Validatation the @Nom parameter.if OBJECT_ID(fot) IS NULLBEGINPRINThad proc kayna deja a satENDIF @nom IS NULLBEGIN PRINT ERROR: DARORI specify AKHIR SMIYA DYAL PROF. RETURNENDSELECT nom_profFROM proff AS spJOIN article AS e ON e.id_article = sp.id_profWHERE nom_prof = @nom;RETURNGO
  9. 9. Les procédures stockées permettent de le temps entre le client et le serveurMySQL.Elles permettent également de sécuriser une base de données.Par exemple, il est possible de restreindre les droits des utilisateurs defaçon à ce quils puissent uniquement exécuter des procédures. Finisles DELETEdangereux ou les UPDATE inconsidérés. Chaque requête exécutée par lesutilisateurs est créée et contrôlée par ladministrateur de la base de donnéespar lintermédiaire des procédures stockées.Cela permet ensuite de sassurer quun traitement est toujours exécuté dela même manière, quelle que soit lapplication/le client qui le lance. Il arrivepar exemple quune même base de données soit exploitée par plusieursapplications, lesquelles peuvent être écrites avec différents langages. Si onlaisse chaque application avoir son propre code pour un même traitement, ilest possible que des différences apparaissent (distraction, mauvaisecommunication, erreur ou autre). Par contre, si chaque application appelle lamême procédure stockée, ce risque disparaît.
  10. 10. Inconvénients
  11. 11. En résumé À vous de voir quelles procédures sont utiles pour votre application et vos besoins. En résumé •Une procédure stockée est un ensemble dinstructions que lon peut exécuter sur commande. •Une procédure stockée est un objet de la base de données stocké de manière durable, au même titre quune table. Elle nest pas supprimée à la fin de la session comme lest une requête préparée. •On peut passer des paramètres à une procédure stockée, qui peuvent avoir trois sens :IN (entrant), OUT (sortant) ou INOUT (les deux). •SELECT ... INTO permet dassigner des données sélectionnées à des variables ou des paramètres, à condition que le SELECT ne renvoie quune seule ligne, et quil y ait autant de valeurs sélectionnées que de variables à assigner. •Les procédures stockées peuvent permettre de gagner en performance en diminuant les allers-retours entre le client et le serveur. Elles peuvent également aider à sécuriser une base de données et à sassurer que les traitements sensibles soient toujours exécutés de la même manière. •Par contre, elle ajoute à la charge du serveur et sa syntaxe nest pas toujours portable dun SGBD à un autre.

×