Mostafa Hanoune. Traitement des Exceptions

Dimension: px
Commencer à balayer dès la page:

Download "Mostafa Hanoune. Traitement des Exceptions"

Transcription

1 Mostafa Hanoune 8 Traitement des Exceptions

2 Objectifs A la fin de ce chapitre, vous saurez : Définir des exceptions PL/SQL Reconnaître les exceptions non gérées Lister et utiliser les différents types de traitements des exceptions PL/SQL Traiter les erreurs Oracle non pré-définies Décrire l'effet d'une propagation des erreurs dans des blocs imbriqués Personnaliser les messages d erreur PL/SQL Mostafa Hanoune 8-2 Objectifs Dans ce chapitre, vous apprendrez ce que sont les exceptions PL/SQL et comment on les traite en utilisant des mot-clés pré-définis, non pré-définis ou définis par l utilisateur. Les Bases PL/SQL 8-2

3 Mostafa Hanoune Manipuler les Exceptions en PL/SQL Qu est-ce qu une exception? Un identifiant PL/SQL, de type erreur, déclenché pendant l exécution du bloc Comment est-elle déclenchée? Implicitement, par une erreur Oracle Explicitement, par le programme Comment la traiter? En l interceptant dans le traitement des exceptions En la propageant à l environnement appelant 8-3 Présentation Une exception est un identifiant PL/SQL généré au cours de l exécution d un bloc qui termine le corps principal des instructions. Un bloc s arrête quand une exception PL/SQL est déclenchée, cependant vous pouvez spécifier un traitement dans les exceptions afin de réaliser des instructions finales. Deux méthodes pour déclencher une Exception Lorsqu une erreur Oracle se produit, l exception associée est émise automatiquement. Par exemple, si l erreur ORA survient car un SELECT n a ramenée aucune ligne, alors le PL/SQL émet l exception NO_DATA_FOUND. Vous pouvez produire explicitement une exception en insérant une instruction RAISE dans un bloc. L exception ainsi émise peut être soit définie par l utilisateur, soit pré-définie. Les Bases PL/SQL 8-3

4 Mostafa Hanoune Traitement des Exceptions Intercepter l exceptionl DECLARE Propager l exceptionl DECLARE Exception émise BEGIN EXCEPTION BEGIN EXCEPTION Exception émise Exception interceptée END; END; Exception non interceptée Exception propagée à l environnement appelant 8-4 Interception d une Exception Si une exception se produit dans la partie exécutable du bloc, le traitement se débranche au sousprogramme correspondant dans la section Exception du bloc. Si le PL/SQL traite convenablement l exception, alors elle n est pas propagée au le bloc supérieur ou vers l environnement appelant. Le bloc PL/SQL s exécute correctement. Propagation d une Exception Si une exception se produit dans la partie exécutable du bloc et s il n y a pas de sous-programme lui correspondant, alors le bloc PL/SQL aboutit à une erreur et l exception est propagée à l environnement appelant. Les Bases PL/SQL 8-4

5 Mostafa Hanoune Types d Exceptions Exception Oracle Pré-définie Exception Oracle Non Pré-définie Exception définie par l utilisateur } Déclench clenchées es implicitement Déclenchées es explicitement 8-5 Types d Exceptions Vous pouvez utiliser des exceptions dans vos programmes pour éviter des interruptions en cours d exécution. Il existe trois types d exceptions : Exception Description Indications de traitement Erreur prédéfinie du serveur Oracle Erreur non prédéfinie du serveur Oracle Erreur définie par l utilisateur Une des 20 erreurs qui arrivent le plus fréquemment en langage PL/SQL Toute autre erreur standard d Oracle Server Une condition que le programmeur définit comme anormale Ne pas la déclarer et laisser Oracle Server l émettre implicitement La déclarer à l intérieur du segment de déclaration et laisser Oracle Server l émettre implicitement La déclarer à l intérieur du segment de déclaration et déclencher son émission explicitement Note : Certains outils d'application PL/SQL avec une interface côté client, comme Oracle Developer Forms, possèdent leurs propres exceptions. Les Bases PL/SQL 8-5

6 Mostafa Hanoune Syntaxe Intercepter les Exceptions EXCEPTION WHEN exception1 [OR exception2...] THEN instruction1; instruction2;... [WHEN exception3 [OR exception4...] THEN instruction1; instruction2;...] [WHEN OTHERS THEN instruction1; instruction2;...] 8-6 Interception d Exceptions Vous pouvez intercepter n importe quelle erreur en insérant les instructions correspondantes, à l intérieur de la section Exception du bloc PL/SQL. Chaque traitement d exception contient une commande WHEN, qui spécifie les conditions de l exception, suivie d une séquence d instructions à exécuter lorsque cette exception est déclenchée. Syntaxe : exception Nom standard de l exception pré-définie ou bien définie par l utilisateur et déclarer dans la section déclarative. Statement Une ou plusieurs instructions SQl ou PL/SQL OTHERS Clause de traitement d Exception Optionnelle, qui intercepte toutes les exceptions non gérées dans la même section d exception. Exception WHEN OTHERS La section Exception intercepte seulement celles qui ont été définies ; toutes les autres exceptions ne sont pas interceptées sauf si vous précisez la clause WHEN OTHERS. Ceci permet d intercepter toute exception qui n a pas encore été traitée. C est pourquoi OTHERS doit être la dernière instruction de la section Exception. La commande OTHERS intercepte toutes les exceptions qui ne l ont pas déjà été. Certains outils Oracle ont leurs propres exceptions pré-définies que vous pouvez utiliser pour provoquer certaines actions. OTHERS intercepte également ces exceptions. Les Bases PL/SQL 8-6

7 Mostafa Hanoune Règles pour intercepter les Exceptions WHEN OTHERS est la dernière clause. Le mot-clé EXCEPTION débute la section de gestion des exceptions. Plusieurs Exceptions sont permises. Une seule exception est exécutée avant de sortir d un bloc. 8-7 Règles Commencer la section Exception du bloc par le mot clé EXCEPTION. Définir plusieurs traitements d Exceptions pour un bloc, chacune ayant sa propre séquence d actions. Lorsqu une exception se produit, le PL/SQL n exécute qu une Seule traitement avant de sortir du bloc. Placer la commande OTHERS après toutes les autres commandes de traitement d exceptions. Vous pouvez employer au plus une commande OTHERS. Les exceptions ne peuvent pas intervenir dans les instructions d assignation ou dans les instructions SQL. Les Bases PL/SQL 8-7

8 Erreurs Oracle pré-définies Mostafa Hanoune Utiliser le nom standard à l intérieur de la section Exception. Exemple d exceptions pré-définies : NO_DATA_FOUND TOO_MANY_ROWS INVALID_CURSOR ZERO_DIVIDE DUP_VAL_ON_INDEX 8-8 Interception des erreurs Oracle pré-définies Intercepter une erreur Oraclepré-définie en utilisant son nom standard à l intérieur de la section d Exception. Pour connaître la liste complète des exceptions pré-définies, voir PL/SQL User s Guide and Reference, Release 8, Error Handling. Note : Le PL/SQL déclare les exceptions pré-définies dans le Package STANDARD. Il est bon de toujours penser à gérer les exceptions NO_DATA_FOUND et TOO_MANY_ROWS qui sont les plus courantes. Les Bases PL/SQL 8-8

9 Exceptions pré-définies Nom de l Exception Code Erreur Description Oracle Server ACCESS_INTO_NULL ORA Assignation d une valeur à un objet non initialisé COLLECTION_IS_NULL ORA Utilisation d une méthode autre que EXISTS sur une nested table non initialisée ou un varray CURSOR_ALREADY_OPEN ORA Ouverture d un curseur déjà ouvert DUP_VAL_ON_INDEX ORA Insertion d une ligne en doublon INVALID_CURSOR ORA Opération interdite sur un curseur INVALID_NUMBER ORA Echec sur une conversion d une chaîne de caractères vers du number LOGIN_DENIED ORA Connexion à Oracle avec un utilisateur ou un mot de passe invalide NO_DATA_FOUND ORA SELECT mono-ligne retournant 0 ligne NOT_LOGGED_ON ORA Echec d un appel DB dans un programme PL/SQL car l utilisateur n est pas connecté PROGRAM_ERROR ORA Le PL/SQL a un problème interne ROWTYPE_MISMATCH ORA Incompatibilité de type entre une variable Hôte et une variable PL/SQL suite à une affectation STORAGE_ERROR ORA Dépassement de capacité mémoire ou mémoire corrompue SUBSCRIPT_BEYOND_COUNT ORA Référence d un élément d une nested table ou varray en utilisant un indice plus grand que le nombre d éléments dans la collection SUBSCRIPT_OUTSIDE_LIMIT ORA Référence d un élément d une nested table ou varray en utilisant un indice qui sort du domaine autorisé (-1 par exemple) TIMEOUT_ON_RESOURCE ORA Dépassement d un timeout pour allocation d une ressource par Oracle TOO_MANY_ROWS ORA SELECT mono-ligne retournant plus d 1 ligne VALUE_ERROR ORA Erreur d arithmétique, de conversion, de troncature, ou de limite de taille ZERO_DIVIDE ORA Division par zéro Les Bases PL/SQL 8-9

10 Mostafa Hanoune Syntaxe Exception pré-définie BEGIN SELECT... COMMIT; EXCEPTION WHEN NO_DATA_FOUND THEN instruction1; instruction2; WHEN TOO_MANY_ROWS THEN instruction1; WHEN OTHERS THEN instruction1; instruction2; instruction3; END; 8-10 Interception d exceptions Oracle Server pré-définies Une seule exception à la fois est déclenchée et traitée. Les Bases PL/SQL 8-10

11 Erreurs Oracle non pré-définies Mostafa Hanoune Déclarer Associer Traiter Section DECLARE Section EXCEPTION Nommer l exception Coder le PRAGMA EXCEPTION_INIT Traiter l exception déclenchée 8-11 Interception d erreurs Oracle non pré-définies Vous pouvez intercepter une erreur Oracle non pré-définie en la déclarant au préalable, ou en utilisant la commande OTHERS. L exception déclarée est implicitement déclenchée. En PL/SQL, la clause pragma EXCEPTION_INIT permet d associer un nom d exception à un code d erreur Oracle. Ceci vous permet de faire référence à n importe quelle exception interne Oracle, par un nom et d écrire un traitement spécifique pour celle-ci. Note : PRAGMA (aussi appelé pseudo-instruction) est un mot-clé qui signifie que l instruction est destinée au compilateur et qu elle n est donc pas traitée au moment de l exécution du bloc PL/SQL. Plus précisément, il conduit le compilateur à interpréter toutes les occurrences de l exception par le code erreur Oracle Server associé. Les Bases PL/SQL 8-11

12 Erreurs Oracle non pré-définies Intercepter une erreur de violation de contraintes (Erreur Oracle 2292) DECLARE e_emps_remaining EXCEPTION; 1 PRAGMA EXCEPTION_INIT (e_emps_remaining,-2292); v_deptno dept.deptno%type := &p_deptno; BEGIN DELETE FROM dept WHERE deptno = v_deptno; COMMIT; EXCEPTION WHEN e_emps_remaining THEN 3 DBMS_OUTPUT.PUT_LINE('Suppression Impossible du dep:' TO_CHAR(v_deptno) 'Employés existant '); END; Mostafa Hanoune Interception d une exception Oracle non-prédéfinie 1. Déclarer le nom de l exception dans la section DECLARE. Syntaxe exception EXCEPTION; où : exception est le nom de l exception. 2. Associer l exception déclarée au code standard de l erreur Oracle Server en utilisant l instruction PRAGMA EXCEPTION_INIT. Syntaxe PRAGMA EXCEPTION_INIT(exception, erreur_number); où : exception est l exception déclarée préalablement. erreur_number est un code standard de l erreur Oracle Server. 3. Traiter l exception ainsi déclarée dans la section EXCEPTION. Exemple S il y a des employés dans un département, affichez un message à l utilisateur l informant que ce département ne peut pas être supprimé. Pour plus d informations, voir Oracle Server Messages, Release 8. Les Bases PL/SQL 8-12

13 Mostafa Hanoune Exceptions définies par l utilisateur Déclarer Déclencher Traiter Section DECLARE Nommer l exception Section EXECUTABLE Déclencher explicitement l exception avec RAISE Section EXCEPTION Traiter l exception declenchée 8-13 Interception d exceptions définies par l utilisateur Le langage PL/SQL vous permet de définir vos propres exceptions. Les exceptions définies par l utilisateur en PL/SQL doivent être : Déclarées dans la section DECLARE du bloc PL/SQL Déclenchées explicitement à l aide de l instruction RAISE Les Bases PL/SQL 8-13

14 exemple Exceptions définies par l utilisateur Mostafa Hanoune DECLARE e_invalid_product EXCEPTION; 1 BEGIN UPDATE product SET descrip = '&product_description' WHERE prodid = &product_number; IF SQL%NOTFOUND THEN RAISE e_invalid_product; 2 END IF; COMMIT; EXCEPTION WHEN e_invalid_product THEN 3 DBMS_OUTPUT.PUT_LINE('Numéro de produit invalide.'); END; 8-14 Interception d exceptions définies par l utilisateur (suite) Vous pouvez intercepter une exception définie par l utilisateur en la déclarant et en la déclenchant explicitement. 1. Déclarer le nom de l exception dans la section DECLARE. Syntaxe exception EXCEPTION; où : exception est le nom de l exception 2. Utiliser l instruction RAISE pour déclencher explicitement l exception dans la section EXECUTABLE. Syntaxe RAISE exception; où : exception est l exception préalablement déclarée 3. Traiter l exception ainsi déclarée dans la section EXCEPTION. Exemple Ce bloc permet de mettre à jour la description d un produit. L utilisateur entre le code du produit et sa nouvelle description. Si l utilisateur entre un code produit qui n existe pas, il n y a pas de ligne mise à jour dans la table PRODUCT. Une exception est produite et un message s affiche pour avertir l utilisateur qu il a saisi un code de produit incorrect. Note : Vous pouvez utiliser l instruction RAISE à l intérieur d un traitement Exceptions pour renvoyer la même exception à l environnement appelant. Les Bases PL/SQL 8-14

15 Fonctions d interception des Erreurs SQLCODE Renvoie la valeur numérique associé au code de l erreur SQLERRM Renvoie le message associé au code de l erreur Mostafa Hanoune 8-15 Fonctions d interception des Erreurs Lorsqu une exception se produit, vous pouvez identifier le code et le message d erreur associé à l aide de deux fonctions. Suivant le message ou la valeur du code, vous pouvez décider quelle action effectuer après cette erreur. SQLCODE renvoie le code Oracle de l erreur pour les exceptions internes. Vous pouvez transmettre le code de l erreur à SQLERRM, qui renvoie alors le message associé ainsi que le code de l erreur. Fonction Description SQLCODE Renvoie la valeur numérique du code de l erreur (Vous pouvez l assigner à une variable de type NUMBER.) SQLERRM Renvoie la donnée contenant le message associé au code de l erreur exemple SQLCODE Values Valeur SQLCODE Description 0 Pas d exception enregistrée 1 Exception définie par l utilisateur +100 Exception NO_DATA_FOUND negative number Autre code d erreur Oracle Server Les Bases PL/SQL 8-15

16 Mostafa Hanoune Fonctions d interception des Erreurs exemple DECLARE v_error_code NUMBER; v_error_message VARCHAR2(255); BEGIN... EXCEPTION... WHEN OTHERS THEN ROLLBACK; v_error_code := SQLCODE ; v_error_message := SQLERRM ; INSERT INTO erreurs VALUES(v_error_code, v_error_message); END; 8-16 Fonctions d interception des Erreurs Lorsqu une exception est interceptée par la clause WHEN OTHERS, vous pouvez utiliser un ensemble de fonctions standards pour identifier l erreur. L exemple de la diapositive montre comment les valeurs de SQLCODE et SQLERRM peuvent être assignées dans des variables et celles-ci utilisées dans des instructions SQL. Il faut tronquer la valeur de SQLERRM à une certaine longueur avant d essayer de l écrire dans une variable. Note au formateur N utilisez pas directement, dans une instruction SQL, les fonctions se rapportant aux erreurs. Assignez d abord leurs valeurs dans une variable. Vous pouvez transmettre un code erreur à SQLERRM pour renvoyer le message associé ; par exemple, SQLERRM(-979) renvoie ORA-0979: not a GROUP BY expression. ces fonctions peuvent être utilisées comme de véritables paramètres par exemple erreur_procedure(sqlerrm). Les Bases PL/SQL 8-16

17 Environnements appelants Mostafa Hanoune SQL*Plus Procedure Builder Oracle Developer Forms Une application du précompilateur Un bloc PL/SQL principal Affiche le code erreur et le message à l écran Affiche le code erreur et le message à l écran Accède facilement au code et au message d erreur à l aide des fonctions ERROR_CODE et ERROR_TEXT Accède au code erreur grâce à la structure de données SQLCA Intercepte les exceptions dans la section Exceptions des blocs maîtres 8-17 Propagation des exceptions Au lieu d intercepter une exception dans un bloc PL/SQL, vous pouvez propager l exception afin de permettre à l environnement appelant de la traiter. Chaque environnement a sa propre façon d accéder et d afficher les erreurs. Les Bases PL/SQL 8-17

18 Mostafa Hanoune Propagations des Exceptions Des sous-blocs peuvent traiter une exception ou la transmettre à un bloc de niveau supérieur. DECLARE... e_no_rows exception; e_integrity exception; PRAGMA EXCEPTION_INIT (e_integrity, -2292); BEGIN FOR c_record IN emp_cursor LOOP BEGIN SELECT... UPDATE... IF SQL%NOTFOUND THEN RAISE e_no_rows; END IF; EXCEPTION WHEN e_integrity THEN... WHEN e_no_rows THEN... END; END LOOP; EXCEPTION WHEN NO_DATA_FOUND THEN... WHEN TOO_MANY_ROWS THEN... END; 8-18 Propagation d une exception à partir d un sous-bloc Lorsqu un sous-bloc traite une exception, il se termine normalement,et l exécution du traitement se poursuit dans le bloc supérieur, juste après l instruction END du sous-bloc. Cependant, si un programme PL/SQL produit une exception et que le bloc ne prévoit pas de la traiter, elle se propage successivement dans les blocs supérieurs jusqu à trouver une fonction qui la gère. Si aucun de ces blocs ne traite l exception, le résultat donne une exception de non gérée dans l environnement hôte. Lorsque l exception se propage à un bloc supérieur, les actions exécutables restantes de ce bloc sont ignorées. Un des avantages de ce comportement est que vous pouvez ainsi inclure des instructions nécessitant leurs propres fonctions de traitement spécifiques dans leur propre bloc, tout en laissant les exceptions plus générales être traitées dans le bloc de niveau supérieur. Note au formateur (Pour la page 8-19) RAISE_APPLICATION_ERROR ne rentre pas dans le cadre de ce cours car on ne traite pas ici les unités de programme stockées en base. Elles sont abordées dans un autre cours, OPB. La version actuelle de ce dernier cours n introduit pas la notion de RAISE_APPLICATION_ ERROR, mais suppose que les étudiants y sont familiarisés. Comme le cours développé ici est un prérequis obligatoire à OPB, une introduction aux RAISE_APPLICATION_ ERROR est fournie avec cette version. Les Bases PL/SQL 8-18

19 Procédure RAISE_APPLICATION_ERROR Syntaxe raise_application_error (error_number, message[, {TRUE FALSE}]); Mostafa Hanoune 8-19 Cette procédure vous permet de délivrer des messages d erreur définis par l utilisateur à partir de sous-programmes stockés Elle ne peut être appelée que durant l exécution d un sous-programme stocké dans la base de données Utilisez la procédure RAISE_APPLICATION_ERROR pour renvoyer, une exception pré-définie, en utilisant un code d erreur non standard et un message d erreur. Avec RAISE_APPLICATION_ERROR, vous pouvez reporter des erreurs dans votre application et éviter ainsi de renvoyer des exceptions non gérées. Syntaxe : error_number est un code erreur pour l exception, spécifié par l utilisateur, compris entre et message est le message défini par l utilisateur pour l exception. C est une chaîne de caractères de taille pouvant aller jusqu à bytes. TRUE FALSE est un paramètre Booléen optionnel (Si TRUE, l erreur est rangée dans la pile des erreurs précédentes. Si FALSE, valeur par défaut l erreur remplace toutes les erreurs précédentes.) Exemple... EXCEPTION WHEN NO_DATA_FOUND THEN RAISE_APPLICATION_ERROR (-20201, 'Le manager n est pas un employé valide.'); END; Les Bases PL/SQL 8-19

20 Procédure RAISE_APPLICATION_ERROR Elle peut être utilisée à deux endroits : Dans la Section Exécutable Dans le Section Exception Elle renvoie à l utilisateur les conditions de l erreur de manière cohérente par rapport aux erreurs du Serveur Oracle Mostafa Hanoune 8-20 Exemple... DELETE FROM emp WHERE mgr = v_mgr; IF SQL%NOTFOUND THEN RAISE_APPLICATION_error(-20202,'Ce n est pas un manager Valide'); END IF;... Les Bases PL/SQL 8-20

21 Résumé Mostafa Hanoune Types d Exceptions : Erreur Oracle Server pré-définie Erreur Oracle Server non pré-définie Erreur définie par l utilisateur Interception des Exceptions Traitement des Exceptions : intercepter l exception dans un bloc PL/SQL. Propager l exception Les Bases PL/SQL 8-21

22 Mostafa Hanoune Présentation de l exercice Traiter des exceptions nommées Créer et faire référence à des exceptions définies par l utilisateur 8-22 Aperçu de l exercice Dans cet exercice, vous devez créer des fonctions de traitement d exceptions pour des situations particulières. Les Bases PL/SQL 8-22

23 Exercice 8 1. Ecrire un bloc PL/SQL permettant de sélectionner le nom d un employé en connaissant le montant de son salaire. a. Si le salaire entré, renvoie plus d une ligne, traiter l exception avec une fonction appropriée et insérer dans la table MESSAGES le message suivant : Plus d un employé avec le salaire : <salaire>. b. Si le salaire entré ne renvoie aucune ligne, traiter l exception avec une fonction appropriée et insérer dans la table MESSAGES le message suivant : Pas d employé avec ce salaire : <salaire>. c. Si le salaire entré ne renvoie qu une ligne, insérer dans la table MESSAGES le nom de l employé et le montant de son salaire. d. Traiter toute autre exception avec une fonction appropriée et insérer dans la table MESSAGES le message Autre erreur. e. Tester le programme. RESULTS SMITH Plus d un employé avec le salaire : 3000 Pas d employé avec le salaire : Modifier p3q3.sql pour ajouter une fonction de traitement des exceptions. a. Ecrire une fonction de traitement des exceptions pour transmettre un message à l utilisateur indiquant que le département n existe pas. b. Exécuter le programme PL/SQL en entrant un département qui n existe pas. Entrer le numéro de département : 50 Entrer la localité du département :HOUSTON PL/SQL procedure successfully completed. G_MESSAGE Le départment 50 n existe pas 3. Ecrire un programme PL/SQL qui affiche le nombre d employés qui gagnent 100 $ de plus ou de moins que le montant du salaire donné. a. S il n y a pas d employés dans cette tranche de salaires, afficher un message à l utilisateur en utilisant une exception. b. S il y a au moins un employé dans cette tranche de salaires, le message doit indiquer combien d employés sont dans cette tranche. c. Traiter toute autre exception avec une fonction appropriée. Le message doit indiquer qu une autre erreur est survenue. Les Bases PL/SQL 8-23

24 Exercice 8 (suite) Entrer le salaire : 800 PL/SQL procedure successfully completed. G_MESSAGE Il y a 1 employé(s) avec un salaire entre 700 et 900 Entrer le salaire : 3000 PL/SQL procedure successfully completed. G_MESSAGE Il y a 3 employé(s) avec un salaire entre 2900 et 3100 Entrer le salaire : 6000 PL/SQL procedure successfully completed. G_MESSAGE Il n y a pas d employé avec un salaire entre 5900 et 6100 Les Bases PL/SQL 8-24

Les Exceptions. Rappel : Répondre par vrai ou faux Un curseur est une zone mémoire dans laquelle une commande SQL est analysée et exécutée

Les Exceptions. Rappel : Répondre par vrai ou faux Un curseur est une zone mémoire dans laquelle une commande SQL est analysée et exécutée Rappel : Répondre par vrai ou faux Un curseur est une zone mémoire dans laquelle une commande SQL est analysée et exécutée Un curseur implicite est toujours une commande select Une curseur explicite ne

Plus en détail

2013-2014 N.EL FADDOULI 39 2013-2014 N.EL FADDOULI 40. Page 2

2013-2014 N.EL FADDOULI 39 2013-2014 N.EL FADDOULI 40. Page 2 Introduction Bloc PL/SQL Déclaration des variable Structure de contrôle Curseurs Les exceptions PL /SQL Les fonctions et procédures Les packages Les triggers 1 Les exceptions Définition Exceptions prédéfinies

Plus en détail

420-PK6-SL Banques de données Avancées. la suite

420-PK6-SL Banques de données Avancées. la suite 420-PK6-SL Banques de données Avancées PL/SQL la suite ENTRÉES AU CLAVIER Pour quérir une valeur au clavier lors de l'exécution d'une fonction SqlPlusfournis l'opérateur «&». PL/SQL n'a pas de mécanisme

Plus en détail

Mostafa Hanoune. Interactions avec le Serveur Oracle

Mostafa Hanoune. Interactions avec le Serveur Oracle 3 Interactions avec le Serveur Oracle Objectifs A la fin de ce chapitre, vous saurez : Ecrire une instruction SELECT en PL/SQL Déclarer le type de données et la taille d une variable PL/SQL dynamiquement

Plus en détail

PL/SQL. Présenté par Abdoul Aziz Ciss Dept GIT EPT Email: aaciss@ept.sn. 1 PL/SQL --AA Ciss

PL/SQL. Présenté par Abdoul Aziz Ciss Dept GIT EPT Email: aaciss@ept.sn. 1 PL/SQL --AA Ciss PL/SQL Présenté par Abdoul Aziz Ciss Dept GIT EPT Email: aaciss@ept.sn 1 Contenu Introduction au PL/SQL Variables PL/SQL Créer des sections exécutables Interactions avec le serveur Oracle Structures de

Plus en détail

PL/SQL. Pourquoi PL/SQL? Introduction. Principales caractéristiques de PL/SQL. Utilisation de PL/SQL

PL/SQL. Pourquoi PL/SQL? Introduction. Principales caractéristiques de PL/SQL. Utilisation de PL/SQL PL/SQL Avertissement : cette partie du cours n est qu un survol du langage PL/SQL, utile pour écrire des procédures stockées simples Elle laisse de côté de nombreuses fonctionnalités du langage Université

Plus en détail

Bases de données Programmation PL/SQL. LP TOSPI, IUT Montluçon, Université Blaise Pascal 2010-2011 Laurent d Orazio

Bases de données Programmation PL/SQL. LP TOSPI, IUT Montluçon, Université Blaise Pascal 2010-2011 Laurent d Orazio Bases de données Programmation PL/SQL LP TOSPI, IUT Montluçon, Université Blaise Pascal 2010-2011 Laurent d Orazio Plan I. Vue d ensemble et principes de fonctionnement II. Eléments de programmation III.

Plus en détail

PL/SQL. Richard CHBEIR Email : richard.chbeir@u-bourgogne.fr

PL/SQL. Richard CHBEIR Email : richard.chbeir@u-bourgogne.fr PL/SQL Richard CHBEIR Email : richard.chbeir@u-bourgogne.fr Plan Introduction Environnements Bloc PL/SQL Variables Traitements conditionnels Traitements répétitifs Curseurs Gestion des erreurs Fonctions

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

Développer en PL/SQL. Sommaire du cours

Développer en PL/SQL. Sommaire du cours Sommaire du cours Module 1 Introduction et Rappels Module 2 Eléments de langage PL/SQL Module 3 Accès à la Base de données Module 4 Traitements stockés Module 5 Gestion des exceptions Module 6 - Compléments

Plus en détail

Oracle Database 11g : Les fondamentaux des langages SQL et PL/SQL

Oracle Database 11g : Les fondamentaux des langages SQL et PL/SQL Oracle University Appelez-nous: +33 (0) 1 57 60 20 81 Oracle Database 11g : Les fondamentaux des langages SQL et PL/SQL Durée: 5 Jours Description Ce cours vous permettra d acquérir les principes fondamentaux

Plus en détail

Oracle : Langage PL/SQL

Oracle : Langage PL/SQL 1 Introduction à PL/SQL Oracle : Langage PL/SQL PL/SQL est un langage de programmation procédural et structuré. 1.1 Langage de programmation Il contient un ensemble d'instructions permettant de mettre

Plus en détail

Oracle Database 10g: Les fondamentaux des langages SQL et PL/SQL

Oracle Database 10g: Les fondamentaux des langages SQL et PL/SQL Oracle University Appelez-nous: +33 (0) 1 57 60 20 81 Oracle Database 10g: Les fondamentaux des langages SQL et PL/SQL Durée: 5 Jours Description Ce cours s'adresse aux utilisateurs d'oracle8i, Oracle9i

Plus en détail

BD50. TP5 : Développement PL/SQL Avec Oracle SQL Developer. Gestion Commerciale

BD50. TP5 : Développement PL/SQL Avec Oracle SQL Developer. Gestion Commerciale Département Génie Informatique BD50 TP5 : Développement PL/SQL Avec Oracle SQL Developer Gestion Commerciale Françoise HOUBERDON & Christian FISCHER Copyright Avril 2007 Présentation de la gestion commerciale

Plus en détail

Programmer avec PL/SQL

Programmer avec PL/SQL Programmer avec PL/SQL École Supérieure de la Statistique et de l Analyse de l Information (ESSAI) Avertissement : cette partie du cours n est qu un survol du langage PL/SQL, utile pour écrire des procédures

Plus en détail

TD BD dynamique. DECLARE déclaration des variables, constantes, exceptions et curseurs locaux au bloc

TD BD dynamique. DECLARE déclaration des variables, constantes, exceptions et curseurs locaux au bloc TD BD dynamique Un déclencheur est utilisé pour complémenter les contraintes d'intégrité de la base. Une partie des contraintes ne peut souvent pas être définie avec les fonctionnalités décrites jusqu'ici.

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 4 : PL/SQL : ou comment faire plus avec ORACLE 2ème partie Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Exceptions Rappels bloc PL/SQL Definition

Plus en détail

Tableau 7-27 Déclencheur avant insertion. Tableau 7-28 Test du déclencheur

Tableau 7-27 Déclencheur avant insertion. Tableau 7-28 Test du déclencheur chapitre n 7 Programmation avancée Chaque enregistrement qui tente d être ajouté dans la table Qualifications est désigné par :NEW au niveau du code du déclencheur. L accès aux colonnes de ce pseudo-enregistrement

Plus en détail

TP Contraintes - Triggers

TP Contraintes - Triggers TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution

Plus en détail

Oracle Database: Program with PL/SQL

Oracle Database: Program with PL/SQL Description Ce cours est une introduction à la technologie de base de données d'oracle Database 11g. Il explique aux stagiaires les concepts liés aux bases de données relationnelles. Il leur présente également

Plus en détail

OI40: bases de données, TP 2

OI40: bases de données, TP 2 OI40: bases de données, TP 2 Frédéric Lassabe October 26, 2010 Ce TP requiert d avoir bien compris le TP précédent. 1 Sujet Lors de ce TP, il sera question d améliorer la base de données du TP précédent.

Plus en détail

1/44. I Programming Language with SQL. I Langage de programmation procédural ADA like. I Langage propriétaire mais qui a inspiré la norme SQL3

1/44. I Programming Language with SQL. I Langage de programmation procédural ADA like. I Langage propriétaire mais qui a inspiré la norme SQL3 Généralités 1/44 2/44 Anne-Cécile Caron Présentation Programming Language with SQL Langage de programmation procédural ADA like Langage propriétaire mais qui a inspiré la norme SQL3 Adapté à la manipulation

Plus en détail

Présentation du PL/SQL

Présentation du PL/SQL I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 5 : PL/SQL : ou comment faire plus avec ORACLE 3ème partie Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Curseurs et mise à jour 2 Paquetages Definition

Plus en détail

Les déclencheurs (Triggers) avec Oracle

Les déclencheurs (Triggers) avec Oracle 1) Introduction 2) Événements déclenchant 3) Mécanisme général 4) Privilèges systèmes 5) Syntaxe 6) Nom du déclencheur 7) Option BEFORE ou AFTER 8) Déclencheur LMD 9) Déclencheur LDD 10) Déclencheur d'instance

Plus en détail

2008-2009 -JACQUES THOORENS - HTTP://WWW.THOORENS.NET. Quatrième partie. Focus sur Oracle

2008-2009 -JACQUES THOORENS - HTTP://WWW.THOORENS.NET. Quatrième partie. Focus sur Oracle 2008-2009 -JACQUES THOORENS - HTTP://WWW.THOORENS.NET Quatrième partie Focus sur Oracle 165 2008-2009 -JACQUES THOORENS - HTTP://WWW.THOORENS.NET Chapitre 12 Programmation PL/SQL 2008-2009 -JACQUES THOORENS

Plus en détail

II. EXCEL/QUERY ET SQL

II. EXCEL/QUERY ET SQL I. AU TRAVAIL, SQL! 1. Qu est-ce que SQL?... 19 2. SQL est un indépendant... 19 3. Comment est structuré le SQL?... 20 4. Base, table et champ... 21 5. Quelle est la syntaxe générale des instructions SQL?...

Plus en détail

On peut considérer les vues comme des «tables virtuelles» : leur contenu est constitué seulement au moment de la demande d exécution de cette vue.

On peut considérer les vues comme des «tables virtuelles» : leur contenu est constitué seulement au moment de la demande d exécution de cette vue. SQL Ch 9 DDL Vues, PL/SQL, procédures,... I. INTRODUCTION... 1 II. LES VUES (ANGLAIS «VIEWS»)... 1 A. CREER UNE VUE : CREATE VIEW... 1 B. SUPPRIMER UNE VUE DROP VIEW... 3 III. LANGAGE PL/SQL, PROCEDURES

Plus en détail

Cours PL/SQL. Cours PL/SQL. E.Coquery. emmanuel.coquery@liris.cnrs.fr

Cours PL/SQL. Cours PL/SQL. E.Coquery. emmanuel.coquery@liris.cnrs.fr Cours PL/SQL E.Coquery emmanuel.coquery@liris.cnrs.fr Programmation au sein du SGBD Pourquoi? Les contraintes prédéfinies ne sont pas toujours suffisantes. Exemple : tout nouveau prix pour un CD doit avoir

Plus en détail

PL/SQL INTRODUCTION Introduction à PL/SQ Les procédures, les fonctions et les packages Les triggers

PL/SQL INTRODUCTION Introduction à PL/SQ Les procédures, les fonctions et les packages Les triggers PL/SQL INTRODUCTION Introduction à PL/SQ Les procédures, les fonctions et les packages Les triggers Département d informatique Collège Lionel Groulx. Préparé par Saliha Yacoub Table des matières. Introduction...

Plus en détail

2013-2014 N.EL FADDOULI 1 2013-2014 N.EL FADDOULI 67. Page 1

2013-2014 N.EL FADDOULI 1 2013-2014 N.EL FADDOULI 67. Page 1 Introduction Bloc PLSQL Déclaration des variable Structure de contrôle Curseurs Les exceptions PL SQL Les fonctions et procédures Les packages Les triggers 1 Définition Utilité Triggers ( déclencheurs

Plus en détail

Oracle Database 10g: Les fondamentaux du langage SQL I

Oracle Database 10g: Les fondamentaux du langage SQL I Oracle University Appelez-nous: +33 (0) 1 57 60 20 81 Oracle Database 10g: Les fondamentaux du langage SQL I Durée: 3 Jours Description Ce cours offre aux étudiants une introduction à la technologie de

Plus en détail

Maintenir les contraintes d'intégrité

Maintenir les contraintes d'intégrité Maintenir les contraintes d'intégrité Contraintes d'intégrité Plusieurs possibilités pour les maintenir: Dans les définitions des tables Triggers Utilisation de vues et des contraintes sur les vues With

Plus en détail

Introduction a Oracle PL/SQL

Introduction a Oracle PL/SQL Introduction a Oracle PL/SQL PL/SQL (pour PROCEDURAL LANGUAGE/SQL) est un langage procédural d Oracle corporation étendant SQL. Il permet de combiner les avantages d un langage de programmation classique

Plus en détail

//////////////////////////////////////////////////////////////////// Administration bases de données

//////////////////////////////////////////////////////////////////// Administration bases de données ////////////////////// Administration bases de données / INTRODUCTION Système d informations Un système d'information (SI) est un ensemble organisé de ressources (matériels, logiciels, personnel, données

Plus en détail

Programmation en VBA

Programmation en VBA Programmation en VBA Présentation de Visual Basic Visual Basic : Basic : dérivé du langage Basic (Biginner s All purpose Symbolic Instruction Code) des années 60 Visual : dessin et aperçu de l interface

Plus en détail

Le langage PL/SQL 2 - Compléments

Le langage PL/SQL 2 - Compléments 1. Rappels de PL/SQL 2. Les Exceptions Le langage PL/SQL 2 - Compléments Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Septembre 2015 3. Les

Plus en détail

Considérons une partie d un modèle conceptuel de données avec les schémas d entités. Figure 1: Une partie du modèle conceptuel de données

Considérons une partie d un modèle conceptuel de données avec les schémas d entités. Figure 1: Une partie du modèle conceptuel de données Considérons une partie d un modèle conceptuel de données avec les schémas d entités suivants: EMP(EmpNo, Enom, Job, DirNo, Sal, Prime) DEPT(DeptNo, Dnom, Adr) Où EmpNo est la clé primaire de EMP et DeptNo

Plus en détail

Les Déclencheurs ORACLE

Les Déclencheurs ORACLE Les Déclencheurs ORACLE Un déclencheur est un bloc PL/SQL associé à une vue ou une table, qui s'exécutera lorsqu'une instruction du langage de manipulation de données (DML) sera exécutée L'avantage principal

Plus en détail

Chapitre 5 : Les procédures stockées PL/SQL

Chapitre 5 : Les procédures stockées PL/SQL I. Introduction Une procédure ou une fonction stockée est un bloc PL/SQL nommé pouvant accepter des paramètres et être appelée. Généralement, on utilise une fonction pour calculer une valeur. Les procédures

Plus en détail

Synthèse PL SQL ORACLE. Declaration des variables, des constants, des exceptions et des curseurs.

Synthèse PL SQL ORACLE. Declaration des variables, des constants, des exceptions et des curseurs. Synthèse PL SQL ORACLE Bloc PL-SQL DECLARE Declaration des types, des variables, des constantes, des exceptions et des curseurs. BEGIN [nom du bloc] EXCEPTION Traitement des erreurs END [nom du bloc] Declaration

Plus en détail

Bases de données avancées Triggers

Bases de données avancées Triggers Bases de données avancées Triggers Wies law Zielonka 12 décembre 2009 Résumé Ces notes ne sont pas corrigées, mais peut-être vous les trouverez quand même utiles pour préparer l examen ou projet. Ne pas

Plus en détail

Introduction a Oracle P L/SQL

Introduction a Oracle P L/SQL Introduction a Oracle P L/SQL PL/SQL (pour PROCEDURAL LANGUAGE/SQL) est un langage procédural d Oracle corporation étendant SQL. Il permet de combiner les avantages d un langage de programmation classique

Plus en détail

Erreur «Mutating Table»

Erreur «Mutating Table» TRIGGER Programmation avancée H.LUU SES Université de Genève H.Luu - Base de données - Eté 2002 Erreur «Mutating Table» Définition : Une table est en état «mutating» si elle est en train d être modifiée

Plus en détail

Université M Hamed Bougara Boumerdès, Faculté des Sciences, Département Informatique SQL PROCEDURAL

Université M Hamed Bougara Boumerdès, Faculté des Sciences, Département Informatique SQL PROCEDURAL Université M Hamed Bougara Boumerdès, Faculté des Sciences, Département Informatique Cours (Master 1) : Bases de Données Avancées, (Responsable : A. AIT BOUZIAD) SQL PROCEDURAL Dans les différentes parties

Plus en détail

Bases de données avancées

Bases de données avancées Bases de données avancées Jean-Yves Antoine LI - Université François Rabelais de Tours Jean-Yves.Antoine@univ-tours.fr UFR Sciences et Techniques IUP SIR Blois Master 1 Bases de Données avancées IUP Blois,

Plus en détail

SGBD-PL\SQL (Procedural Language / Structured Query Language)

SGBD-PL\SQL (Procedural Language / Structured Query Language) SGBD-PL\SQL (Procedural Language / Structured Query Language) Chapitre 3 : Interaction avec Oracle et les curseurs Faîçal Felhi felhi_fayssal@yahoo.fr I. Interactions simples avec la base Extraire, modifier,

Plus en détail

PL/SQL Procedural Language Extensions to SQL

PL/SQL Procedural Language Extensions to SQL PL/SQL Procedural Language Extensions to SQL Il permet : - l'utilisation d'un sous-ensemble du langage SQL, - la mise en œuvre de structures procédurales, - la gestion des erreurs. L'une des plus importantes

Plus en détail

Cours d Analyse, Algorithmique Elements de programmation

Cours d Analyse, Algorithmique Elements de programmation 1 de 33 Cours d Analyse, Algorithmique Elements de programmation Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 33 Données et instructions Un programme

Plus en détail

PL/SQL. Procedural Language/ Structured Query Language. UPMC - UFR 919 Ingéniérie - Introduction aux Bases de Données Relationnelles (BD-2I009) 1

PL/SQL. Procedural Language/ Structured Query Language. UPMC - UFR 919 Ingéniérie - Introduction aux Bases de Données Relationnelles (BD-2I009) 1 PL/SQL Procedural Language/ Structured Query Language UPMC - UFR 919 Ingéniérie - Introduction aux Bases de Données Relationnelles (BD-2I009) 1 Plan Introduction Structure d'un programme Les variables

Plus en détail

LINQ to SQL. Version 1.1

LINQ to SQL. Version 1.1 LINQ to SQL Version 1.1 2 Chapitre 03 - LINQ to SQL Sommaire 1 Introduction... 3 1.1 Rappels à propos de LINQ... 3 1.2 LINQ to SQL... 3 2 LINQ to SQL... 3 2.1 Importer des tables... 3 2.1.1 Le concepteur

Plus en détail

Secteur Tertiaire Informatique Filière étude - développement. Accueil. Apprentissage. Période en entreprise. Evaluation.

Secteur Tertiaire Informatique Filière étude - développement. Accueil. Apprentissage. Période en entreprise. Evaluation. Secteur Tertiaire Informatique Filière étude - développement Activité «Développer la persistance des données» PL / SQL: Mise à jour des données Accueil Apprentissage Période en entreprise Evaluation Code

Plus en détail

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)

Plus en détail

TP8 - Gestion Transactionnelle

TP8 - Gestion Transactionnelle TP8 - Gestion Transactionnelle MIAGE #3-2006/2007 November 29, 2006 1 Transactions sous Oracle Il est nécéssaire pour ce T.P. de travailler par binômes connectés simultanement (sous SQL*PLUS) sur deux

Plus en détail

Héritage en java : Calculatrice SDC

Héritage en java : Calculatrice SDC Programmation orientée objet L3 MIAGE Héritage en java : Calculatrice SDC Travail à rendre : le code complet du projet SDC sous forme d une archive tar.gz. L archive comportera trois répertoires : un répertoire

Plus en détail

TP 1 Bases de Données Prise en main d Oracle L3 Informatique Université d Aix-Marseille

TP 1 Bases de Données Prise en main d Oracle L3 Informatique Université d Aix-Marseille TP 1 Bases de Données Prise en main d Oracle L3 Informatique Université d Aix-Marseille 1 Prise en main de SQLplus Oracle est un SGBD Relationnel muni de nombreuses fonctionnalités (celles classiques des

Plus en détail

Les triggers. Introduction 1/18. Objectifs. I Utiliser à bon escient le paramétrage des triggers :

Les triggers. Introduction 1/18. Objectifs. I Utiliser à bon escient le paramétrage des triggers : 1/18 2/18 Anne-Cécile Caron Licence MIAGE - Bases de Données 2015-2016 Objectifs Après ce cours, les TD et TP correspondants, vous devez être capables de I Ecrire en PL/SQL des triggers liés aux tables.

Plus en détail

La Clé informatique. Formation Access XP Aide-mémoire

La Clé informatique. Formation Access XP Aide-mémoire La Clé informatique Formation Access XP Aide-mémoire Septembre 2003 Définitions de termes Base de données : Se compare à un énorme classeur ayant plusieurs tiroirs où chacun d eux contient des informations

Plus en détail

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5 Introduction à l algorithmique et à la programmation IUT 1ère année 2013-2014 Cyril Nicaud Cyril.Nicaud@univ-mlv.fr Cours 1 / 5 Déroulement du cours Organisation : 5 séances de 2h de cours 10 séances de

Plus en détail

PL/SQL 2014-2015. Bases de données 2

PL/SQL 2014-2015. Bases de données 2 Cours 10 : PL/SQL Procedural Language/SQL Blocs, variables, instructions, structures de contrôle, curseurs, gestion des erreurs, procédures/fonctions stockées, packages, triggers PL/SQL Chapitre 3 de la

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

2.1/ Les privilèges sous oracle

2.1/ Les privilèges sous oracle LP Informatique(DA2I), UF7 : Administration Système, Réseaux et Base de données 13/12/2007, Enseignant : M. Nakechbnadi, mail : nakech@free.fr Première parie : Administration d une BD Chapitre 2 : Transaction,

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

Bases de données. Cours 6 : Introduction à des notions avancées (Index, Déclencheurs, Transactions) Nicolas DURAND

Bases de données. Cours 6 : Introduction à des notions avancées (Index, Déclencheurs, Transactions) Nicolas DURAND Bases de données Cours 6 : Introduction à des notions avancées (Index, Déclencheurs, Transactions) Nicolas DURAND Polytech Marseille Université d Aix-Marseille 2012-2013 Nicolas DURAND Bases de données

Plus en détail

Oracle Database: Introduction to SQL NOUVEAU

Oracle Database: Introduction to SQL NOUVEAU Oracle University Appelez-nous: 1.800.529.0165 Oracle Database: Introduction to SQL NOUVEAU Durée: 5 Jours Description Le cours "Oracle Database: Introduction to SQL" explique comment écrire des sous-requêtes,

Plus en détail

Conception de bases de données relationnelles

Conception de bases de données relationnelles Conception de bases de données relationnelles Langage PL/(pg)SQL Marie Szafranski 2015-2016 ensiie 1 2015-2016 ensiie 1 Aperçu de PL/(pg)SQL Aperçu de PL/(pg)SQL PL/SQL : Procedural Language for SQL (Oracle)

Plus en détail

Informatique TP1 : Découverte de Python CPP 1A

Informatique TP1 : Découverte de Python CPP 1A Informatique TP1 : Découverte de Python CPP 1A Romain Casati, Wafa Johal, Frederic Devernay, Matthieu Moy Avril - juin 2014 1 Découverte de l IDE : IDLE IDLE est un environnement de développement (Integrated

Plus en détail

Lancez le setup, après une phase de décompression, la fenêtre d installation des prérequis apparaît, il faut les installer :

Lancez le setup, après une phase de décompression, la fenêtre d installation des prérequis apparaît, il faut les installer : Installation de Microsoft SQL 2005 et des reporting services. Le guide est basé sur la version gratuite de SQL Server 2005 récupérable à cette adresse : http://www.microsoft.com/downloads/details.aspx?displaylang=fr&familyid=5b5528b9-13e1-4db9-a3fc-82116d598c3d.

Plus en détail

S. Laporte C# mode console DAIGL TS1

S. Laporte C# mode console DAIGL TS1 Bases du langage C# I. C# en mode console (mode texte) Avantages par rapport au mode graphique (Application Windows): - C'est un mode plus proche de l'approche algorithmique (pas de notions de composants,

Plus en détail

Auto-évaluation DB2 for z/os: cours de base

Auto-évaluation DB2 for z/os: cours de base Auto-évaluation DB2 for z/os: cours de base Document: f1067test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION DB2 FOR Z/OS:

Plus en détail

Fondements des bases de données Programmation en PL/SQL Oracle (1/2)

Fondements des bases de données Programmation en PL/SQL Oracle (1/2) Fondements des bases de données Programmation en PL/SQL Oracle (1/2) Équipe pédagogique BD romuald.thion@univ-lyon1.fr http://liris.cnrs.fr/~rthion/dokuwiki/enseignement:lif10/ Version du 12 février 2014

Plus en détail

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12 Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures

Plus en détail

-Les Vues, Les Déclencheurs, Les vues matérialisées. et Les Clichés-

-Les Vues, Les Déclencheurs, Les vues matérialisées. et Les Clichés- -Les Vues, Les Déclencheurs, Les vues matérialisées et Les Clichés- Les vues : 1. Définition et intérêts : Une Vue est une table logique pointant sur une ou plusieurs tables ou vues et ne contient physiquement

Plus en détail

Cours Web n o 7 MySQL et PHP

Cours Web n o 7 MySQL et PHP Introduction aux bases de données Cours Web n o 7 MySQL et PHP Sandrine-Dominique Gouraud (gouraud@lri.fr) Pierre Senellart (pierre@senellart.com) Semaine du 7 novembre 2005 S.-D. Gouraud, P. Senellart

Plus en détail

Fondements des bases de données Programmation en PL/SQL Oracle procédures, fonctions et exceptions

Fondements des bases de données Programmation en PL/SQL Oracle procédures, fonctions et exceptions Fondements des bases de données Programmation en PLSQL Oracle procédures, fonctions et exceptions Équipe pédagogique BD http:liris.cnrs.fr~mplantevdokudoku.php?id=lif10_2016a Version du 13 octobre 2016

Plus en détail

Documentation Talend. Charly Riviere CDG35

Documentation Talend. Charly Riviere CDG35 Documentation Talend Charly Riviere CDG35 1. Présentation générale Talend est un ETL pour "Extract Transform Load". Comme son nom l'indique il permet d'extraire des données pour ensuite les transformer

Plus en détail

Module 12 : Les ateliers PL/SQL version 4.1

Module 12 : Les ateliers PL/SQL version 4.1 Module 12 : Les ateliers PL/SQL version 4.1 Chaque module est accompagné d un ou plusieurs ateliers qui portent le même numéro. Sur le site www.bizoi.fr, vous pourrez trouver à partir de septembre 2014

Plus en détail

Compte rendu de PHP MySQL : création d un formulaire de base de données

Compte rendu de PHP MySQL : création d un formulaire de base de données REVILLION Joris Décembre 2009 3EI Compte rendu de PHP MySQL : création d un formulaire de base de données Objectifs : Le principal objectif de ce cours est de découvrir et de nous familiariser avec le

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

BD50. Gestion des courses

BD50. Gestion des courses Département Génie Informatique BD50 TP7 : Développement avec le module PL/SQL de 9iAS et DBMS_EPG d'oracle 10G Gestion des courses Françoise HOUBERDON & Christian FISCHER Copyright Mai 2007 Présentation

Plus en détail

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

Plus en détail

TD2-1 : Application client-serveur V2.3.0

TD2-1 : Application client-serveur V2.3.0 TD2-1 : Application client-serveur V2.3.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé.

Plus en détail

Procédure d'installation du client Oracle sur un serveur d'administration AppliDis

Procédure d'installation du client Oracle sur un serveur d'administration AppliDis Fiche technique AppliDis Procédure d'installation du client Oracle sur un serveur d'administration AppliDis Fiche IS00285 Version document : 1.01 Diffusion limitée : Systancia, membres du programme Partenaires

Plus en détail

Cours 7 : Langage de définition, manipulation et contrôle des données

Cours 7 : Langage de définition, manipulation et contrôle des données Cours 7 : Langage de définition, manipulation et contrôle des données Objets d une base de données Dans un schéma Tables, vues Index, clusters, séquences, synonymes Packages, procédures, fonctions, déclencheurs

Plus en détail

IFT3030 Base de données. Chapitre 6 SQL. Plan du cours

IFT3030 Base de données. Chapitre 6 SQL. Plan du cours IFT3030 Base de données Chapitre 6 SQL Plan du cours Introduction Architecture Modèles de données Modèle relationnel Algèbre relationnelle SQL Conception Fonctions avancées Concepts avancés Modèle des

Plus en détail

Oracle Le langage procédural PL/SQL

Oracle Le langage procédural PL/SQL Oracle Le langage procédural PL/SQL Denis Roegel roegel@loria.fr IUT Nancy 2 1998/1999 Sommaire 1 Introduction 3 2 Création de packages 3 2.1 Procédures groupées.........................................

Plus en détail

Les procédures fonctions packages et triggers

Les procédures fonctions packages et triggers Les procédures fonctions packages et triggers Les procédures stockées: Définition: Une procédure est un code PL/SQL défini par l utilisateur et stocké dans la base de données. Ce qui permet d éliminer

Plus en détail

Vulnérabilités logicielles Injection SQL

Vulnérabilités logicielles Injection SQL MGR850 Hiver 2014 Vulnérabilités logicielles Injection SQL Hakima Ould-Slimane Chargée de cours École de technologie supérieure (ÉTS) Département de génie électrique 1 Plan SQL Injection SQL Injections

Plus en détail

Module Com231A - Web et Bases de Données Notion 3 : SQL

Module Com231A - Web et Bases de Données Notion 3 : SQL Module Com231A - Web et Bases de Données Notion 3 : SQL Qu est ce qu une base de données? Introduction Une base de données est un ensemble d au moins un tableau contenant des données. Exemple : une base

Plus en détail

Manuel Utilisateur ENIGMA 15/04/2008. 299, rue Saint Sulpice Centre Tertiaire de l Arsenal 59500 DOUAI

Manuel Utilisateur ENIGMA 15/04/2008. 299, rue Saint Sulpice Centre Tertiaire de l Arsenal 59500 DOUAI Manuel Utilisateur 15/04/2008 ENIGMA Cahier de réalisation ENIGMA Page 2 Sommaire I. Introduction :... 3 II. Les répertoires de l application... 3 III. Les plugins... 4 a. CmdDos... 4 b. CSV2XML... 4 c.

Plus en détail

Projet MVC-CD. Comportement de VP lors du déploiement itératif et incrémental du MPD vers la base de données cible

Projet MVC-CD. Comportement de VP lors du déploiement itératif et incrémental du MPD vers la base de données cible Projet MVC-CD Comportement de VP lors du déploiement itératif et incrémental du MPD vers la base de données cible Créé par S. Berberat, le 23 octobre.2014 Modifié par S. Berberat, le 29 octobre 2014 Page

Plus en détail

ADMIN SGBD TP 1. Préliminaires. Dictionnaire des données. Utilisateurs, vues et autorisations

ADMIN SGBD TP 1. Préliminaires. Dictionnaire des données. Utilisateurs, vues et autorisations ADMIN SGBD TP 1 Préliminaires L'objectif de ce TP est de: installer l environnement (PostgreSQL, base, tables), créer des utilisateurs, des vues, et de gérer les privilèges, créer des triggers, utiliser

Plus en détail

TP : commande awk. D'après le cours en ligne de Isabelle Vollant http://www.shellunix.com/awk.html

TP : commande awk. D'après le cours en ligne de Isabelle Vollant http://www.shellunix.com/awk.html TP : commande awk D'après le cours en ligne de Isabelle Vollant http://www.shellunix.com/awk.html Nous reprenons dans ce TP une grande partie du cours de Isabelle Vollant en simplifiant quelques informations.

Plus en détail

4D v11 SQL Release 5 (11.5) ADDENDUM

4D v11 SQL Release 5 (11.5) ADDENDUM ADDENDUM Bienvenue dans la release 5 de 4D v11 SQL. Ce document présente les nouveautés et modifications apportées à cette nouvelle version du programme. Prise en charge de nouvelles plates-formes La release

Plus en détail

Manuel D utilisation de SQL*Plus

Manuel D utilisation de SQL*Plus Manuel D utilisation de SQL*Plus 1 Lancer Oracle et SQL Plus se déconnecter, puis sortir Pour lancer le client Oracle, aller dans démarrer et faire : Oracle - OraHome 10g / Application Development / SQL

Plus en détail

Module 3 Exécution, interrogation d un formulaire

Module 3 Exécution, interrogation d un formulaire Module 3 Exécution, interrogation d un formulaire Manipulation du module Form Le module Form est un programme source qui peut être enregistré dans la base de données ou dans un fichier binaire sur le disque

Plus en détail

SQL Les fondamentaux du langage (2ième édition)

SQL Les fondamentaux du langage (2ième édition) Introduction 1. Un peu d'histoire 11 2. Les normes SQL 12 3. Description rapide du modèle relationnel 14 3.1 Principaux concepts du modèle relationnel 15 3.2 Principales règles 16 4. Les opérateurs en

Plus en détail

Chapitre 3 : Pointeurs et références

Chapitre 3 : Pointeurs et références p. 1/18 Chapitre 3 : Pointeurs et références Notion de pointeur L adresse d une variable est une valeur. On peut donc la stocker dans une variable. Un pointeur est une variable qui contient l adresse d

Plus en détail

Algorithmie ISI301 TP 1 : Python et premiers algorithmes

Algorithmie ISI301 TP 1 : Python et premiers algorithmes Algorithmie ISI301 TP 1 : Python et premiers algorithmes 1 Python : apprentissage Pour avoir une vision plus large des différentes possibilités du langage Python, nous ne pouvons que vous conseiller d

Plus en détail