4 Copyright © Oracle Corporation, 2001. Tous droits réservés. Gérer les sous-programmes.

Slides:



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

Plan de formation Chapitre 1 : Présentation de SAP
Plan de formation Chapitre 1 : Présentation de SAP
Oracle: OO.
T ECHNOLOGIES O RACLE Création et gestion des objets © sebvita.com.
10 Copyright © Oracle Corporation, Tous droits réservés. Autres concepts relatifs aux déclencheurs.
Gérer les tablespaces et les fichiers de données
Connexion en mode application. Bases de données - Yann Loyer2 Connexion en mode application Pour tout type dutilisateurs : –passif, actif, gérant Permettre.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Gestion des erreurs Packages ©Alain Villeneuve, 1999
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
PLSQL ORACLE 8i Connecter VB à BD Oracle Les collections Question de révision Les blocs anonymes Les triggers REVISION Par : Joël Huot.
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
Les transactions.
Procédures Stockées Schedule: Timing Topic 60 minutes Lecture
La librairie assert.h.
Limiter et trier des données
Introduction.
8 Copyright © Oracle Corporation, Tous droits réservés. Manipuler des objets de grande taille.
Gérer la sécurité des mots de passe et les ressources
Les Composants de l’architecture Oracle
Créer des déclencheurs de base de données
Chapitre 6.2 Les curseurs Cours SGBD 3A Mme hkimi Jihène
Objectifs A la fin de ce chapitre, vous pourrez : présenter l'utilisation d'opérations de chargement de données par chemin direct décrire l'utilisation.
Gérer les privilèges.
Créer des packages.
Projet Python. ETAPE 1 Installation des packages python. Raccourcie crée automatiquement.
Module 12 : Implémentation de procédures stockées.
Copyright  Oracle Corporation, All rights reserved. 19 Gestion des Privilèges.
Packages fournis par Oracle
Composants de l'architecture Oracle
Gérer une instance Oracle
Gérer l'instance Oracle
(Ou groupes d ’utilisateurs)
Gérer le fichier de contrôle
Ait Ahmed Madjid Cohen Lior Jaballah Seddik Leborgne Fabien
Manipulation des Données
6 Copyright © Oracle Corporation, Tous droits réservés. Autres concepts relatifs aux packages.
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.
Gestion des Rollback Segments
Structure de stockage et relations
Copyright  Oracle Corporation, All rights reserved. 20 Gestion des Rôles ( ou regroupement des privilèges)
Gérer les rôles.
1 Copyright © Oracle Corporation, Tous droits réservés. Présentation des sous-programmes PL/SQL.
Gérer les utilisateurs
Introduction  Langage propre à Oracle basé sur ADA  Offre une extension procédurale à SQL  PL/SQL permet d’utiliser un sous-ensemble du langage SQL.
Révision du langage PL/SQL
Création et Gestion de Tables
Créer une base de données
Initiation à Oracle Server
3 Copyright © Oracle Corporation, Tous droits réservés. Créer des fonctions.
Gérer les fichiers de journalisation
Objectifs A la fin de ce chapitre, vous pourrez :
Les vues Une vue: c’est une relation virtuelle. Définie par:
13 Copyright © Oracle Corporation, Tous droits réservés. Gérer l'intégrité des 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.
Le Langage de Contrôle de Données LCD. 2 Contrôle des Données Notion de Sous–Schéma –Restriction de la vision –Restriction des actions Privilèges –Systèmes.
Copyright  Oracle Corporation, Tous droits réservés. 11 Extraction Hiérarchique.
Procédures Stockées Fonctions Paquetages
Les bases de données Séance 8 Jointures.
Générateur d’applications WEB de gestion de données Génération de la base de données.
NIVEAU LOGIQUE Vues. Fenêtre dynamique sur la base Ses données proviennent d'autres tables ou d'autres vues.
Nicolas Ribot Introduction aux triggers Nicolas Ribot - Licence GNU FDL - Version 1.1.
Introduction au langage PL/SQL
Les exceptions Une exception est un identificateur PL/SQL détecté pendant la phase d’exécution. Comment est-elle déclenchée ? À la suite d’une erreur.
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.
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
6 Copyright © 2004, Oracle. Tous droits réservés. Utiliser des sous-interrogations pour résoudre des interrogations.
11 Copyright © 2004, Oracle. Tous droits réservés. Gérer les objets à l'aide de vues du dictionnaire de données.
D Copyright © 2004, Oracle. Tous droits réservés. Utiliser SQL*Plus.
Transcription de la présentation:

4 Copyright © Oracle Corporation, Tous droits réservés. Gérer les sous-programmes

4-2 Copyright © Oracle Corporation, Tous droits réservés. Objectifs A la fin de ce chapitre, vous pourrez : opposer les privilèges système aux privilèges objet opposer les droits de l'appelant aux droits du créateur identifier les vues du dictionnaire de données afin de gérer les objets stockés déboguer des sous-programmes à l'aide du package DBMS_OUTPUT

4-3 Copyright © Oracle Corporation, Tous droits réservés. Privilèges requis CREATE (ANY) PROCEDURE ALTER ANY PROCEDURE DROP ANY PROCEDURE EXECUTE ANY PROCEDURE L'administrateur de base de données accorde Privilèges système Privilèges objet Le propriétaire accorde EXECUTE Pour pouvoir faire référence et accéder aux objets d'un autre schéma à partir d'un sous-programme, vous devez bénéficier d'un accès explicite (non octroyé via un rôle) aux objets référencés.

4-4 Copyright © Oracle Corporation, Tous droits réservés. Accorder l'accès aux données GRANT EXECUTE ON query_emp TO green; Grant Succeeded. Accès indirect : Green SCOTT.QUERY_EMP SELECT La procédure s'exécute avec les privilèges du propriétaire (par défaut). GRANT SELECT ON employees TO scott; Grant Succeeded. Accès direct : Scott EMPLOYEES

4-5 Copyright © Oracle Corporation, Tous droits réservés. Utiliser les droits de l'appelant La procédure s'exécute avec les privilèges de l'utilisateur. SCOTT.QUERY_EMPLOYEE Scott EMPLOYEES Green EMPLOYEES CREATE PROCEDURE query_employee (p_id IN employees.employee_id%TYPE, p_name OUT employees.last_name%TYPE, p_salary OUT employees.salary%TYPE, p_comm OUT employees.commission_pct%TYPE) AUTHID CURRENT_USER IS BEGIN SELECT last_name, salary, commission_pct INTO p_name, p_salary, p_comm FROM employees WHERE employee_id=p_id; END query_employee; /

4-6 Copyright © Oracle Corporation, Tous droits réservés. Gérer les objets PL/SQL stockés Dictionnaire de données Erreurs de compilation Informations générales Code source Informations de débogage Pseudo- code Paramètres Editeur DESCRIBE... DBMS_OUTPUT

4-7 Copyright © Oracle Corporation, Tous droits réservés. USER_OBJECTS Colonne OBJECT_NAME OBJECT_ID OBJECT_TYPE CREATED LAST_DDL_TIME TIMESTAMP STATUS Description de la colonne Nom de l'objet Identificateur interne de l'objet Type d'objet, par exemple, TABLE, PROCEDURE, FUNCTION, PACKAGE, PACKAGE BODY, TRIGGER Date de création de l'objet Date de la dernière modification de l'objet Date et heure de la dernière recompilation de l'objet VALID ou INVALID *Liste de colonnes réduite

4-8 Copyright © Oracle Corporation, Tous droits réservés. Répertorier l'ensemble des procédures et des fonctions SELECT object_name, object_type FROM user_objects WHERE object_type in ('PROCEDURE','FUNCTION') ORDER BY object_name; …

4-9 Copyright © Oracle Corporation, Tous droits réservés. Colonne NAME TYPE LINE TEXT Description de la colonne Nom de l'objet Type de l'objet, par exemple PROCEDURE, FUNCTION, PACKAGE, PACKAGE BODY Numéro de ligne du code source Texte de la ligne du code source Vue du dictionnaire de données USER_SOURCE

4-10 Copyright © Oracle Corporation, Tous droits réservés. Afficher le code des procédures et des fonctions SELECT text FROM user_source WHERE name = 'QUERY_EMPLOYEE' ORDER BY line;

4-11 Copyright © Oracle Corporation, Tous droits réservés. Colonne NAME TYPE SEQUENCE LINE POSITION TEXT Description de la colonne Nom de l'objet Type d'objet, par exemple PROCEDURE, FUNCTION, PACKAGE, PACKAGE BODY, TRIGGER Numéro de séquence pour le tri Numéro de la ligne où survient l'erreur dans le code source Position de l'erreur sur la ligne Texte du message d'erreur USER_ERRORS

4-12 Copyright © Oracle Corporation, Tous droits réservés. Détecter les erreurs de compilation : exemple CREATE OR REPLACE PROCEDURE log_execution IS BEGIN INPUT INTO log_table (user_id, log_date) -- wrong VALUES (USER, SYSDATE); END; /

4-13 Copyright © Oracle Corporation, Tous droits réservés. Répertorier les erreurs de compilation en utilisant USER_ERRORS SELECT line || '/' || position POS, text FROM user_errors WHERE name = 'LOG_EXECUTION' ORDER BY line;

4-14 Copyright © Oracle Corporation, Tous droits réservés. Répertorier les erreurs de compilation en utilisant SHOW ERRORS SHOW ERRORS PROCEDURE log_execution

4-15 Copyright © Oracle Corporation, Tous droits réservés. DESCRIBE in i SQL*Plus DESCRIBE query_employee DESCRIBE add_dept DESCRIBE tax

4-16 Copyright © Oracle Corporation, Tous droits réservés. Déboguer les programmes PL/SQL Le package DBMS_OUTPUT : –accumule les informations dans une mémoire tampon –permet l'extraction des informations à partir de la mémoire tampon Appels de procédure autonomes (par exemple, écriture du résultat dans une table de journalisation) Logiciels utilisant DBMS_DEBUG –Procedure Builder –Logiciels de débogage tiers

4-17 Copyright © Oracle Corporation, Tous droits réservés. USER_SOURCE USER_ERRORS Synthèse Compilation Pseudo-code Code source Erreurs de compilation Scott Green Privilèges

4-18 Copyright © Oracle Corporation, Tous droits réservés. Synthèse Exécution Informations de débogage

4-19 Copyright © Oracle Corporation, Tous droits réservés. Présentation de l'exercice 4 Dans cet exercice, vous allez : recréer le fichier source d'une procédure recréer le fichier source d'une fonction

4-20 Copyright © Oracle Corporation, Tous droits réservés.