SlideShare ist ein Scribd-Unternehmen logo
1 von 11
SQL
                     Procedure Stocké
                                Source : www.nava.do-talk.com
                                          www.siteduzero.com



Réaliser par : Noredine BAHRI
Procedure Stocké
   • Définition

   •   Les paramètres d'une procédure stockée
   •   Création et utilisation d'une procédure
   •   Suppression d'une procédure
   •   Avantages, inconvénients
Définition
    Les procédures stockées permettent
    d'automatiser des actions, qui peuvent être très
    complexes, est en fait une série d'instructions
    SQL désignée par un nom. Lorsque l'on crée
    une procédure stockée, on l'enregistre dans la
    base de données que l'on utilise, au même
    titre qu'une table par exemple. Une fois la
    procédure créée, il est possible
    d'appeler celle-ci, par son nom. Les
    instructions de la procédure sont alors
    exécutées.
Les paramètres d'une procédure stockée

CREATE PROCEDURE nom_procodure ([parametre1],[parametre2…]])
CORPS DE LA PROCEDURE

Décodons tout ceci.

CREATE PROCEDURE : sans surprise, il s'agit de la commande à exécuter pour
créer une procédure. On fait suivre cette commande du nom que l'on veut
donner à la nouvelle procédure.

([parametre1 [, parametre2, ...]]) : À l'intérieur de ces parenthèses, on définit les
éventuels paramètres de la procédure. Ces paramètres sont des variables qui
pourront être utilisées par la procédure.

corps de la procédure : c'est là que l'on met le contenu de la procédure, ce qui
va être exécuté lorsqu'on lance la procédure. Cela peut être soit une seule
requête, soit un bloc d'instructions.
EXEMPLE


 SELECT * FROM proff


 CREATE PROCEDURE view_proff
 AS
 SELECT * FROM proff
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
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
IF OBJECT_ID('fot') IS NOT NULL
   DROP PROCEDURE fot;
GO
CREATE PROCEDURE fot
@nom varchar(50) = NULL -- NULL default value
AS
   SET NOCOUNT ON;

-- Validatation the @Nom parameter.
if OBJECT_ID('fot') IS NULL
BEGIN
PRINT'had proc kayna deja a sat'
END
IF @nom IS NULL
BEGIN PRINT 'ERROR: DARORI specify AKHIR SMIYA DYAL PROF.'
  RETURN
END
SELECT nom_prof
FROM proff AS sp
JOIN article AS e ON e.id_article = sp.id_prof
WHERE nom_prof = @nom;
RETURN
GO
Les procédures stockées permettent de le temps entre le client et le serveur
MySQL.
Elles permettent également de sécuriser une base de données.
Par exemple, il est possible de restreindre les droits des utilisateurs de
façon à ce qu'ils puissent uniquement exécuter des procédures. Finis
les DELETE
dangereux ou les UPDATE inconsidérés. Chaque requête exécutée par les
utilisateurs est créée et contrôlée par l'administrateur de la base de données
par l'intermédiaire des procédures stockées.
Cela permet ensuite de s'assurer qu'un traitement est toujours exécuté de
la même manière, quelle que soit l'application/le client qui le lance. Il arrive
par exemple qu'une même base de données soit exploitée par plusieurs
applications, lesquelles peuvent être écrites avec différents langages. Si on
laisse chaque application avoir son propre code pour un même traitement, il
est possible que des différences apparaissent (distraction, mauvaise
communication, erreur ou autre). Par contre, si chaque application appelle la
même procédure stockée, ce risque disparaît.
Inconvénients
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 d'instructions que l'on 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 qu'une table. Elle n'est pas supprimée
    à la fin de la session comme l'est 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 d'assigner des données sélectionnées à des
    variables ou des paramètres, à condition que le SELECT ne renvoie
    qu'une seule ligne, et qu'il 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 à s'assurer 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
    n'est pas toujours portable d'un SGBD à un autre.

Weitere ähnliche Inhalte

Andere mochten auch

Principes Relationnels et Concepts Oracle
Principes Relationnelset Concepts OraclePrincipes Relationnelset Concepts Oracle
Principes Relationnels et Concepts Oraclewebreaker
 
C# - Mappages de types de données SQL Server
C# - Mappages de types de données SQL ServerC# - Mappages de types de données SQL Server
C# - Mappages de types de données SQL ServerMahfoud EL HOUDAIGUI
 
Les Contraintes | SQL Oracle
Les Contraintes | SQL OracleLes Contraintes | SQL Oracle
Les Contraintes | SQL Oraclewebreaker
 
Opérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL OracleOpérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL Oraclewebreaker
 
Gestion avancée avec PMB: traitement par lots (paniers) et SQL: quelques exem...
Gestion avancée avec PMB: traitement par lots (paniers) et SQL: quelques exem...Gestion avancée avec PMB: traitement par lots (paniers) et SQL: quelques exem...
Gestion avancée avec PMB: traitement par lots (paniers) et SQL: quelques exem...PMB-BUG
 
SQL Oracle | Regrouper les Données avec les Fonctions de Groupe
SQL Oracle | Regrouper les Données avec les Fonctions de GroupeSQL Oracle | Regrouper les Données avec les Fonctions de Groupe
SQL Oracle | Regrouper les Données avec les Fonctions de Groupewebreaker
 
c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)Mahfoud EL HOUDAIGUI
 
2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédible2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédiblePatrick Guimonet
 
GP Chapitre 2 : Les méthodes de prévision
GP Chapitre 2 : Les méthodes de prévision GP Chapitre 2 : Les méthodes de prévision
GP Chapitre 2 : Les méthodes de prévision ibtissam el hassani
 
Sous-Interrogations - sql oracle
Sous-Interrogations - sql oracleSous-Interrogations - sql oracle
Sous-Interrogations - sql oraclewebreaker
 
Création de Vues | SQL Oracle
Création de Vues | SQL OracleCréation de Vues | SQL Oracle
Création de Vues | SQL Oraclewebreaker
 
Afficher des Données Issues de Plusieurs Tables : SQL Oracle
Afficher des Données Issues de Plusieurs Tables : SQL OracleAfficher des Données Issues de Plusieurs Tables : SQL Oracle
Afficher des Données Issues de Plusieurs Tables : SQL Oraclewebreaker
 
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECTSQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECTwebreaker
 
Agenda culturală ARCH-I pe luna iulie 2015
Agenda culturală ARCH-I pe luna iulie 2015Agenda culturală ARCH-I pe luna iulie 2015
Agenda culturală ARCH-I pe luna iulie 2015CosminCH
 

Andere mochten auch (20)

Principes Relationnels et Concepts Oracle
Principes Relationnelset Concepts OraclePrincipes Relationnelset Concepts Oracle
Principes Relationnels et Concepts Oracle
 
C# dates and times date formats
C# dates and times  date formatsC# dates and times  date formats
C# dates and times date formats
 
C# - Mappages de types de données SQL Server
C# - Mappages de types de données SQL ServerC# - Mappages de types de données SQL Server
C# - Mappages de types de données SQL Server
 
Les Contraintes | SQL Oracle
Les Contraintes | SQL OracleLes Contraintes | SQL Oracle
Les Contraintes | SQL Oracle
 
Opérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL OracleOpérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL Oracle
 
Sql
SqlSql
Sql
 
Gestion avancée avec PMB: traitement par lots (paniers) et SQL: quelques exem...
Gestion avancée avec PMB: traitement par lots (paniers) et SQL: quelques exem...Gestion avancée avec PMB: traitement par lots (paniers) et SQL: quelques exem...
Gestion avancée avec PMB: traitement par lots (paniers) et SQL: quelques exem...
 
SQL Oracle | Regrouper les Données avec les Fonctions de Groupe
SQL Oracle | Regrouper les Données avec les Fonctions de GroupeSQL Oracle | Regrouper les Données avec les Fonctions de Groupe
SQL Oracle | Regrouper les Données avec les Fonctions de Groupe
 
c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)
 
C# langage & syntaxe
C#   langage & syntaxeC#   langage & syntaxe
C# langage & syntaxe
 
2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédible2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédible
 
GP Chapitre 2 : Les méthodes de prévision
GP Chapitre 2 : Les méthodes de prévision GP Chapitre 2 : Les méthodes de prévision
GP Chapitre 2 : Les méthodes de prévision
 
Sous-Interrogations - sql oracle
Sous-Interrogations - sql oracleSous-Interrogations - sql oracle
Sous-Interrogations - sql oracle
 
Création de Vues | SQL Oracle
Création de Vues | SQL OracleCréation de Vues | SQL Oracle
Création de Vues | SQL Oracle
 
Afficher des Données Issues de Plusieurs Tables : SQL Oracle
Afficher des Données Issues de Plusieurs Tables : SQL OracleAfficher des Données Issues de Plusieurs Tables : SQL Oracle
Afficher des Données Issues de Plusieurs Tables : SQL Oracle
 
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECTSQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
 
Les assistantes à l'heure du changement
Les assistantes à l'heure du changementLes assistantes à l'heure du changement
Les assistantes à l'heure du changement
 
A1 CE
A1 CEA1 CE
A1 CE
 
Agenda culturală ARCH-I pe luna iulie 2015
Agenda culturală ARCH-I pe luna iulie 2015Agenda culturală ARCH-I pe luna iulie 2015
Agenda culturală ARCH-I pe luna iulie 2015
 
L.E.A.D - Action Plan
L.E.A.D -  Action PlanL.E.A.D -  Action Plan
L.E.A.D - Action Plan
 

Ähnlich wie Sql

la session Patterns azure cloud au Gwab 2014
la session Patterns azure cloud au Gwab 2014la session Patterns azure cloud au Gwab 2014
la session Patterns azure cloud au Gwab 2014Aymeric Weinbach
 
Sql azure performance et montee en charge (1)
Sql azure   performance et montee en charge (1)Sql azure   performance et montee en charge (1)
Sql azure performance et montee en charge (1)Aymeric Weinbach
 
Déploiement ELK en conditions réelles
Déploiement ELK en conditions réellesDéploiement ELK en conditions réelles
Déploiement ELK en conditions réellesGeoffroy Arnoud
 
LP_chapitre3_Creation et gestion_BD_2019.pptx
LP_chapitre3_Creation et gestion_BD_2019.pptxLP_chapitre3_Creation et gestion_BD_2019.pptx
LP_chapitre3_Creation et gestion_BD_2019.pptxFATIMAEZZAHRAEOUBELL
 
SQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSASSQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSASGUSS
 
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !Paris Salesforce Developer Group
 
PL/Sql et Sécurité des bases de données
PL/Sql et Sécurité des bases de donnéesPL/Sql et Sécurité des bases de données
PL/Sql et Sécurité des bases de donnéessmiste
 
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdfDATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdfHéla Ben Khalfallah
 
AOP.pptx
AOP.pptxAOP.pptx
AOP.pptxManalAg
 
presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfRihabBENLAMINE
 

Ähnlich wie Sql (20)

oracle : le PL-SQL
oracle : le PL-SQLoracle : le PL-SQL
oracle : le PL-SQL
 
la session Patterns azure cloud au Gwab 2014
la session Patterns azure cloud au Gwab 2014la session Patterns azure cloud au Gwab 2014
la session Patterns azure cloud au Gwab 2014
 
Patterns azure cloud
Patterns azure cloudPatterns azure cloud
Patterns azure cloud
 
Sql azure performance et montee en charge (1)
Sql azure   performance et montee en charge (1)Sql azure   performance et montee en charge (1)
Sql azure performance et montee en charge (1)
 
Oracle : Foctionnement
Oracle : FoctionnementOracle : Foctionnement
Oracle : Foctionnement
 
Drools et les moteurs de règles
Drools et les moteurs de règlesDrools et les moteurs de règles
Drools et les moteurs de règles
 
Déploiement ELK en conditions réelles
Déploiement ELK en conditions réellesDéploiement ELK en conditions réelles
Déploiement ELK en conditions réelles
 
LP_chapitre3_Creation et gestion_BD_2019.pptx
LP_chapitre3_Creation et gestion_BD_2019.pptxLP_chapitre3_Creation et gestion_BD_2019.pptx
LP_chapitre3_Creation et gestion_BD_2019.pptx
 
SQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSASSQLSaturday Paris 2014 - Monitoring et configuration SSAS
SQLSaturday Paris 2014 - Monitoring et configuration SSAS
 
Hive ppt (1)
Hive ppt (1)Hive ppt (1)
Hive ppt (1)
 
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
 
Interfaces controlesbasededonné
Interfaces controlesbasededonnéInterfaces controlesbasededonné
Interfaces controlesbasededonné
 
PL/Sql et Sécurité des bases de données
PL/Sql et Sécurité des bases de donnéesPL/Sql et Sécurité des bases de données
PL/Sql et Sécurité des bases de données
 
tp-spring.pdf
tp-spring.pdftp-spring.pdf
tp-spring.pdf
 
tp-spring.pdf
tp-spring.pdftp-spring.pdf
tp-spring.pdf
 
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdfDATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
 
AOP.pptx
AOP.pptxAOP.pptx
AOP.pptx
 
Sécurité MySQL
Sécurité MySQLSécurité MySQL
Sécurité MySQL
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdf
 

Kürzlich hochgeladen

Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfssuserc72852
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...Faga1939
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 

Kürzlich hochgeladen (13)

Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 

Sql

  • 1. SQL Procedure Stocké Source : www.nava.do-talk.com www.siteduzero.com Réaliser par : Noredine BAHRI
  • 2. Procedure Stocké • Définition • Les paramètres d'une procédure stockée • Création et utilisation d'une procédure • Suppression d'une procédure • Avantages, inconvénients
  • 3. Définition Les procédures stockées permettent d'automatiser des actions, qui peuvent être très complexes, est en fait une série d'instructions SQL désignée par un nom. Lorsque l'on crée une procédure stockée, on l'enregistre dans la base de données que l'on utilise, au même titre qu'une table par exemple. Une fois la procédure créée, il est possible d'appeler celle-ci, par son nom. Les instructions de la procédure sont alors exécutées.
  • 4. Les paramètres d'une procédure stockée CREATE PROCEDURE nom_procodure ([parametre1],[parametre2…]]) CORPS DE LA PROCEDURE Décodons tout ceci. CREATE PROCEDURE : sans surprise, il s'agit de la commande à exécuter pour créer une procédure. On fait suivre cette commande du nom que l'on veut donner à la nouvelle procédure. ([parametre1 [, parametre2, ...]]) : À l'intérieur de ces parenthèses, on définit les éventuels paramètres de la procédure. Ces paramètres sont des variables qui pourront être utilisées par la procédure. corps de la procédure : c'est là que l'on met le contenu de la procédure, ce qui va être exécuté lorsqu'on lance la procédure. Cela peut être soit une seule requête, soit un bloc d'instructions.
  • 5. EXEMPLE SELECT * FROM proff CREATE PROCEDURE view_proff AS SELECT * FROM proff
  • 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. 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. IF OBJECT_ID('fot') IS NOT NULL DROP PROCEDURE fot; GO CREATE PROCEDURE fot @nom varchar(50) = NULL -- NULL default value AS SET NOCOUNT ON; -- Validatation the @Nom parameter. if OBJECT_ID('fot') IS NULL BEGIN PRINT'had proc kayna deja a sat' END IF @nom IS NULL BEGIN PRINT 'ERROR: DARORI specify AKHIR SMIYA DYAL PROF.' RETURN END SELECT nom_prof FROM proff AS sp JOIN article AS e ON e.id_article = sp.id_prof WHERE nom_prof = @nom; RETURN GO
  • 9. Les procédures stockées permettent de le temps entre le client et le serveur MySQL. Elles permettent également de sécuriser une base de données. Par exemple, il est possible de restreindre les droits des utilisateurs de façon à ce qu'ils puissent uniquement exécuter des procédures. Finis les DELETE dangereux ou les UPDATE inconsidérés. Chaque requête exécutée par les utilisateurs est créée et contrôlée par l'administrateur de la base de données par l'intermédiaire des procédures stockées. Cela permet ensuite de s'assurer qu'un traitement est toujours exécuté de la même manière, quelle que soit l'application/le client qui le lance. Il arrive par exemple qu'une même base de données soit exploitée par plusieurs applications, lesquelles peuvent être écrites avec différents langages. Si on laisse chaque application avoir son propre code pour un même traitement, il est possible que des différences apparaissent (distraction, mauvaise communication, erreur ou autre). Par contre, si chaque application appelle la même procédure stockée, ce risque disparaît.
  • 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 d'instructions que l'on 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 qu'une table. Elle n'est pas supprimée à la fin de la session comme l'est 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 d'assigner des données sélectionnées à des variables ou des paramètres, à condition que le SELECT ne renvoie qu'une seule ligne, et qu'il 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 à s'assurer 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 n'est pas toujours portable d'un SGBD à un autre.