EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 1 Procédures stockées CPI-SQLServer.

Slides:



Advertisements
Présentations similaires
PL/SQL : Le Langage PL/SQL est une extension du SQL, qui offre
Advertisements

Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Fonctionnalités des SGBD
51 Les technologies XML Cours 6 : XML et les architectures N-tiers – Tier Métier Janvier Version 1.0 -
Autorisations Utilisation eCATT
Oracle: OO.
FLSI602 Génie Informatique et Réseaux
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Développement d’applications web
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Contrôles d'accès aux données
Systèmes d Information : 10b Michel de Rougemont Université Paris II Les Bases de Données : Access.
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
Connexion en mode application. Bases de données - Yann Loyer2 Connexion en mode application Pour tout type dutilisateurs : –passif, actif, gérant Permettre.
Initiation aux bases de données et à la programmation événementielle
1 Initiation aux bases de données et à la programmation événementielle Cours N°9 : Gestion de la cohérence avec des sous-formulaires. Support de cours.
L’utilisation des bases de données
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 SQL PHILIPPE BANCQUART.
Développer en C avec Eclipse Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique.
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
PLSQL ORACLE 8i Connecter VB à BD Oracle Les collections Question de révision Les blocs anonymes Les triggers REVISION Par : Joël Huot.
SQL: Contraintes et Triggers
Création de bases de données
PL/SQL Noreddine GHERABI 1.
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
Les transactions.
Procédures Stockées Schedule: Timing Topic 60 minutes Lecture
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 SQL jointure PHILIPPE BANCQUART.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
2 Industrialisation des développements sur SQL Server avec Visual Studio 2010 Mardi 8 Février – 17h30 Karim Zegour – Winwise Michel Perfetti – MVP VS.
Bases de données orientées objets SGBD relationnels-objets
Bases de données orientées objets Illustration sur ORACLE
PHP & My SQL.
 CREATE TABLE  DROP TABLE  ALTER TABLE  INSERT  UPDATE  DELETE  SELECT interrogation 2 Instruction de mise à jour structure.
Gérer la sécurité des mots de passe et les ressources
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Transac SQL Intégrité des données.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Les Composants de l’architecture Oracle
Chapitre 6.2 Les curseurs Cours SGBD 3A Mme hkimi Jihène
Créer des packages.
Module 12 : Implémentation de procédures stockées.
Module 9 : Transfert de données. Vue d'ensemble Présentation du transfert de données Outils d'importation et d'exportation de données disponibles dans.
 C'est une fenêtre par laquelle les informations d'une table peuvent être visualisées et changées.  C'est une table virtuelle: ◦ elle n'existe pas ◦
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Institut Supérieur d’Informatique
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Module 4 : Implémentation de l'intégrité des données.
6 Copyright © Oracle Corporation, Tous droits réservés. Autres concepts relatifs aux packages.
Sélection de colonnes (la projection)
Module 13 : Implémentation de déclencheurs. Vue d'ensemble Présentation des déclencheurs Définition de déclencheurs Exemples de déclencheurs Performances.
1 Copyright © Oracle Corporation, Tous droits réservés. Présentation des sous-programmes PL/SQL.
21/04/2015© Robert Godin. Tous droits réservés.1 6Gestion des contraintes d’intégrité en SQL n Contrainte d'intégrité statique – respectée pour chacun.
Introduction  Langage propre à Oracle basé sur ADA  Offre une extension procédurale à SQL  PL/SQL permet d’utiliser un sous-ensemble du langage SQL.
3 Copyright © Oracle Corporation, Tous droits réservés. Créer des fonctions.
4 Copyright © Oracle Corporation, Tous droits réservés. Gérer les sous-programmes.
Les vues Une vue: c’est une relation virtuelle. Définie par:
Module 7 : Restauration de bases de données
02/06/2015© Robert Godin. Tous droits réservés.1 5 Interface entre SQL et un programme n SQL incomplet n Défaut d'impédance (impedance mismatch) – modèle.
Procédures Stockées Fonctions Paquetages
Les bases de données Séance 8 Jointures.
Le langage SQL.
Séance /10/2004 SGBD - Approches & Principes.
Initiation aux bases de données et à la programmation événementielle
NIVEAU LOGIQUE Vues. Fenêtre dynamique sur la base Ses données proviennent d'autres tables ou d'autres vues.
Le Langage de Manipulation de Données LMD Module 6.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Transcription de la présentation:

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 2 Procédures C'est un ensemble d'instructions SQL stockées dans une BD et exécutées sous un nom. Elles sont pré-compilées. Plus rapides que les mêmes commandes lancées en batch. Réduisent le trafic sur le réseau. Assurent l'homogénéité, sécurité de la BD Développement d'applications modulaires. Réduisent le risque d'erreur. Automatisent les transactions complexes.

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 3 Création procédure Create proc nom_procedure type1, …..] As Instruction SQL Return

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 4 Exemples Sous Entreprise Manager (vérificateur de syntaxe) Create proc auteursCalifornien as select au_id, au_lname from authors where state=CA Return Sous analyseur requete. auteursCalifornien

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 5 Les procédures stockées Contiennent du code SQL compilé, permettant d'exécuter des requêtes lourdes ou des instructions régulièrement utilisées sur des bases de données. sont conservées dans la base de données dans une forme exécutable et sont capables d'appeler d'autres procédures ou fonctions comme d'être appelées par d'autres programmes

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 6 Les procédures stockées La structure modulaire de telles procédures permet de concevoir des petites unités programmatiques indépendantes, donc plus rapides à charger en mémoire et partant à exécuter dans une base de données. La création des procédures stockées s'effectue par l'intermédiaire de l'instruction CREATE PROCEDURE.

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 7 Les procédures stockées A l'instar des procédures des langages de programmation, outre qu'elles soient composées de diverses instructions, les procédures stockées sont capables de recevoir des paramètres d'entrée et de retourner des valeurs en sortie.

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 8 Syntaxe pour SQL Server CREATE PROC [ EDURE ] nom_procedure [ ; nombre ] [ type_donnee } [ VARYING ] [ = valeur_defaut ] [ OUTPUT ] ] [,...n ] [ WITH { RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION } ] [ FOR REPLICATION ] AS instructions_SQL... GO

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 9 Syntaxe pour Oracle CREATE [OR REPLACE] PROCEDURE [schema.] procedure [ ( argument [ IN | OUT | IN OUT ] [ NOCOPY ] type_donnee [, argumentN [ IN | OUT | IN OUT ] [ NOCOPY ] type_donnee] ) ] [ AUTHID { CURRENT_USER | DEFINER }] { IS | AS } { instruction_pl/sql | instruction_langage };

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 10 Procédure Stockées options La clause VARYING, applicable aux paramètres de type CURSOR, indique le jeu de résultats pris en charge comme La clause OUTPUT permet de retourner la valeur aux instructions appelantes. L'instruction WITH RECOMPILE spécifie que la procédure est recompilée à l'exécution sans utiliser le cache pour le plan de la procédure. L'option RECOMPILE est généralement utilisée pour des valeurs temporaires sans remplacer le plan d'exécution placé en mémoire cache.

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 11 Procédure Stockées options La clause WITH ENCRYPTION indique un cryptage de l'entrée de la table syscomments contenant le texte de l'instruction CREATE PROCEDURE. L'argument ENCRYPTION permet d'éviter la publication de la procédure dans le cadre de la réplication SQL Server. La clause FOR REPLICATION indique que la procédure stockée doit être exécutée lors de la modification de la table concernée par un processus de réplication. La clause AS indique les actions entreprises par la procédure. L'instruction GO signale la fin d'un jeu d'instructions.

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 12 Options Procédures Oracle La commande OR REPLACE recrée la procédure stockée si elle existe déjà. paramètre de sortie. La clause OUT permet de retourner la valeur aux instructions appelantes. La clause IN est utilisée pour spécifier une valeur pour l'argument en appelant la procédure. La clause AS (déprécié) ou IS indique les actions entreprises par la procédure.

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 13 Exécution Syntaxe : exec nom_procedure Les programmes appelant sont: Batch Procédure stockées Trigger Par programmes externes

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 14 execute Les procédures stockées peuvent être appelées au moyen de l'instruction EXECUTE à partir d'une autre procédure ou d'un lot d'instructions. SQL Server utilise une abréviation EXEC. EXECUTE = = ValeurN

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 15 Exemple SQLServer CREATE PROCEDURE CHAR(5) AS INSERT @proc_CP) VALUES ( , ANTONIN, Jacques, 93300) GO

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 16 Instruction pour Oracle CREATE PROCEDURE Ajout_Enregistrement IN IN IN IN CHAR(5) ) AS BEGIN INSERT @proc_CP) VALUES ( , Chirac, Jacques, 93300) END;

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 17 Visu et modification Pour visualiser le code sp_helptext nom_procedure Pour avoir la liste des procédure stockées. Select * from sysobjects where type = "P" Pour modifier une PS il faut détruire l'ancienne (drop) et recréer la nouvelle (create)

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 18 Paramètres Les noms peuvent comporter 30 caractères et commencent Limite 255 paramètres Peut contenir paramètre joker Pas dobjet en paramètres Nom, type sont définis

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 19 Procédure paramètres Create procedure AuteursFctEtat varchar(2)) AS select au_id, au_fname, from auteur where state return AuteursFctEtat 'UT AuteursFctEtat 'CA AuteursFctEtat 'OR'

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 20 Procédures divers Permet de mettre en place une gestion des erreurs pour les transactions Imbrication de procédures. Possibilité de mettre des curseurs dans les procédures. Toutes les fonctions système sp_xxx sont des procédures stockées