SlideShare une entreprise Scribd logo
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.

Contenu connexe

En vedette

Principes Relationnels et Concepts Oracle
Principes Relationnelset Concepts OraclePrincipes Relationnelset Concepts Oracle
Principes Relationnels et Concepts Oracle
webreaker
 
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
Mahfoud EL HOUDAIGUI
 
Les Contraintes | SQL Oracle
Les Contraintes | SQL OracleLes Contraintes | SQL Oracle
Les Contraintes | SQL Oracle
webreaker
 
Opérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL OracleOpérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL Oracle
webreaker
 
Sql
SqlSql
Sql
krymo
 
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 Groupe
webreaker
 
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
 
C# langage & syntaxe
C#   langage & syntaxeC#   langage & syntaxe
C# langage & syntaxe
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édible
Patrick 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 oracle
webreaker
 
Création de Vues | SQL Oracle
Création de Vues | SQL OracleCréation de Vues | SQL Oracle
Création de Vues | SQL Oracle
webreaker
 
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
webreaker
 
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
webreaker
 
Les assistantes à l'heure du changement
Les assistantes à l'heure du changementLes assistantes à l'heure du changement
A1 CE
A1 CEA1 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 2015CosminCH
 
L.E.A.D - Action Plan
L.E.A.D -  Action PlanL.E.A.D -  Action Plan
L.E.A.D - Action Plan
Tibaz - Espace Santé Jeunes
 

En vedette (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
 

Similaire à Sql

oracle : le PL-SQL
oracle : le PL-SQLoracle : le PL-SQL
oracle : le PL-SQL
Mohammed Jaafar
 
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
Aymeric 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
 
Oracle : Foctionnement
Oracle : FoctionnementOracle : Foctionnement
Oracle : Foctionnement
Mohammed Jaafar
 
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
Publicis Sapient Engineering
 
PHP_partie_.ppt,php_cours_mathematiques_informatiques
PHP_partie_.ppt,php_cours_mathematiques_informatiquesPHP_partie_.ppt,php_cours_mathematiques_informatiques
PHP_partie_.ppt,php_cours_mathematiques_informatiques
oumaimanouari
 
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
Geoffroy 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.pptx
FATIMAEZZAHRAEOUBELL
 
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
GUSS
 
Hive ppt (1)
Hive ppt (1)Hive ppt (1)
Hive ppt (1)
marwa baich
 
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
 
Interfaces controlesbasededonné
Interfaces controlesbasededonnéInterfaces controlesbasededonné
Interfaces controlesbasededonné
Fatima Zahra Fagroud
 
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
smiste
 
tp-spring.pdf
tp-spring.pdftp-spring.pdf
tp-spring.pdf
badrfathallah2
 
tp-spring.pdf
tp-spring.pdftp-spring.pdf
tp-spring.pdf
seydou4devops
 
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdfDATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
DATABASE_DATA_STRUCTURE_DEVOXXFRANCE2024.pdf
Héla Ben Khalfallah
 
AOP.pptx
AOP.pptxAOP.pptx
AOP.pptx
ManalAg
 
Sécurité MySQL
Sécurité MySQLSécurité MySQL
Sécurité MySQL
Damien Seguy
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
Abdelhakim Bachar
 

Similaire à 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
 
PHP_partie_.ppt,php_cours_mathematiques_informatiques
PHP_partie_.ppt,php_cours_mathematiques_informatiquesPHP_partie_.ppt,php_cours_mathematiques_informatiques
PHP_partie_.ppt,php_cours_mathematiques_informatiques
 
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
 

Dernier

Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Oscar Smith
 
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
M2i Formation
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
Friends of African Village Libraries
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
Billy DEYLORD
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
caggoune66
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
Txaruka
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
WarlockeTamagafk
 
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
BenotGeorges3
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
cristionobedi
 

Dernier (11)

Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
 
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
 
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
 

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.