Mostafa Hanoune. Interactions avec le Serveur Oracle

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Mostafa Hanoune. Interactions avec le Serveur Oracle"

Transcription

1 3 Interactions avec le Serveur Oracle

2 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 Ecrire des instructions LMD en PL/SQL Contrôler les transactions en PL/SQL Déterminer l issue des instructions LMD 3-2 Objectifs Dans ce chapitre, vous allez apprendre à intégrer les instructions standard SQL SELECT, INSERT, UPDATE, et DELETE dans des blocs PL/SQL. Vous apprendrez aussi à contrôler les transactions et à déterminer l issue des instructions SQL de type LMD en PL/SQL. Les Bases PL/SQL 3-2

3 Instructions SQL en PL/SQL Extraire une ligne de la base de grâce à la commande SELECT. Un seul jeu de valeurs peut être retourné. Modifiez des lignes dans la base en utilisant des commandes LMD. Contrôlez une transaction avec les commandes COMMIT, ROLLBACK, ou SAVEPOINT. Déterminez l issue d une commande LMD avec des curseurs implicites. 3-3 Vue d ensemble Lorsque vous avez besoin d extraire ou de modifier des informations de la base de données, vous devez utiliser le SQL. Le PL/SQL permet la manipulation des données, ainsi que le contrôle des transactions avec le SQL. Vous pouvez utiliser des instructions SELECT pour remplir des variables avec des valeurs extraites d un enregistrement d une table. Vos commandes LMD (Langage de Manipulation de Données) peuvent traiter plusieurs enregistrements à la fois. Comparaison des instructions SQL et PL/SQL Un bloc PL/SQL n est pas une unité de transaction. Les COMMIT, SAVEPOINT, et ROLLBACK sont indépendants des blocs, mais vous pouvez utiliser ces commandes dans un bloc. Le PL/SQL ne permet pas le langage de définition des données (LDD), à savoir les instructions comme CREATE TABLE, ALTER TABLE, ou DROP TABLE... Le PL/SQL ne permet pas le langage de contrôle des données (LCD), à savoir les instructions telles que GRANT ou REVOKE. Pour plus d informations sur le package DBMS_SQL, voir Oracle8 Server Application Developer s Guide, Release 8. Note au formateur Vous pouvez mentionner qu avec le module DBMS_SQL, on peut utiliser des instructions LDD et LCD. Les Bases PL/SQL 3-3

4 Instructions SELECT en PL/SQL Mostafa Hanoune Extraire une ligne de la base de données avec SELECT. Syntaxe SELECT select_list INTO {variable_name[, variable_name]... record_name} FROM table WHERE condition; 3-4 Extraire des données en utilisant PL/SQL Utilisez l instruction SELECT pour extraire des données de la base de données. Dans la syntaxe: select_list groupe variable_name record_name table condition est une liste comprenant au moins une colonne, où peuvent figurer des expressions SQL, des fonctions mono-ligne, ou des fonctions de est une variable scalaire qui contiendra la valeur extraite est l enregistrement PL/SQL qui contiendra les valeurs extraites spécifie le nom de la table de la base de données est composée du noms de colonnes, d expressions, de constantes, et d opérateurs de comparaison, ainsi que de variables et constantes PL/SQL Vous pouvez profiter de l étendue de l instruction SELECT sur le Serveur Oracle. Souvenez-vous que les variables hôtes doivent être précédées d un deux points (:). Les Bases PL/SQL 3-4

5 Instructions SELECT en PL/SQL La clause INTO est Obligatoire. Exemple : DECLARE v_deptno v_loc BEGIN SELECT INTO FROM WHERE... END; NUMBER(2); VARCHAR2(15); deptno, loc v_deptno, v_loc dept dname = 'SALES'; Mostafa Hanoune 3-5 Clause INTO La clause INTO est obligatoire, et apparaît entre les clauses SELECT et FROM. Elle est utilisée pour spécifier les noms des variables qui contiendront les valeurs retournées par l ordre SELECT. Vous devez prévoir une variable pour chaque élément ramené, et leur ordre doit correspondre à celui des éléments sélectionnés. On utilise une clause INTO pour remplir des variables PL/SQL ou des variables hôtes. Les Requêtes Doivent RamenerUn et Un Seul Enregistrement Les instructions SELECT dans un bloc PL/SQL respectent la norme ANSI du SQL, selon laquelle les requêtes doivent retourner un enregistrement et un seul. Le retour de plusieurs enregistrements, ou d aucun enregistrement engendre une erreur. Le PL/SQL gère ces erreurs en suscitant des exceptions standards, que vous pouvez intercepter dans la section EXCEPTION du bloc grâce aux exceptions NO_DATA_FOUND et TOO_MANY_ROWS (la gestion des exceptions est traitée dans un chapitre ultérieur). Vous devez utiliser les instructions SELECT si la requête ne ramène qu un seul enregistrement. Note au formateur La clause INTO est obligatoire dans l instruction SELECT en PL/SQL. Cela s oppose au SQL, ou la clause INTO est interdite. Les Bases PL/SQL 3-5

6 Extraire des données en PL/SQL Extraire la date de commande et la date d expédition pour la commande spécifi cifiée. Exemple DECLARE v_orderdate ord.orderdate%type; v_shipdate ord.shipdate%type; BEGIN SELECT orderdate, shipdate INTO v_orderdate, v_shipdate FROM ord WHERE id = 620;... END; Mostafa Hanoune 3-6 Règles générales Suivez ces indications générales pour extraire des données en PL/SQL : Terminez chaque instruction SQL avec un point virgule (;). La clause INTO est obligatoire pour un ordre SELECT dans un bloc PL/SQL. La clause WHERE est optionnelle et peut être utilisée pour spécifier des variables d entrée, des constantes, des valeurs, ou des expressions PL/SQL. Spécifiez le même nombre de variables en sortie dans la clause INTO que le nombre de colonnes ramenées dans la clause SELECT. Assurez-vous que l ordre est exact, et que les types de données sont compatibles. Note au formateur Les variables de sortie sont des variables PL/SQL par lesquelles une valeur est transmise de la base de données vers le bloc PL/SQL. Le type de données de la variable de sortie doit être compatible avec celui de la colonne source, bien que la colonne source puisse être une expression; en particulier, les variables booléennes ne sont pas permises. Les variables d entrée sont des variables PL/SQL par lesquelles une valeur est transmise du bloc PL/SQL vers la base de données. Les Bases PL/SQL 3-6

7 Extraire des données en PL/SQL Retournez la somme des salaires de tous les employés s du service spécifi cifié. Exemple DECLARE v_sum_sal emp.sal%type; v_deptno NUMBER NOT NULL := 10; BEGIN SELECT SUM(sal) -- group function INTO v_sum_sal FROM emp WHERE deptno = v_deptno; END; Mostafa Hanoune 3-7 Règles générales(suite) Pour vous assurez que les types de données des identifiants correspondent à ceux des colonnes, utilisez l attribut %TYPE. Le type de données et le nombre de variables de la clause INTO doivent correspondre à ceux de la liste du SELECT. Utilisez les fonctions de groupe, telles que SUM, dans une instruction SQL pour réaliser des calculs sur un ensemble de lignes d une table. Note : Les fonctions de groupe ne sont pas directement utilisables en PL/SQL. Elles sont utilisées dans des instructions SQL à l intérieur d un bloc PL/SQL. Note au formateur Au tableau, écrivez : v_somme_salaires := SUM(emp.sal); et rayez cette instruction pour souligner le fait qu il faut utiliser des fonctions de groupe dans une instruction SQL. Les Bases PL/SQL 3-7

8 Manipuler des données en PL/SQL Mostafa Hanoune Modifiez le contenu des tables de la base de données à l aide des commandes LMD suivantes : INSERT UPDATE DELETE INSERT UPDATE DELETE 3-8 Manipuler les Données en PL/SQL On manipule les données de la base à l aide de commandes LMD (Manipulation des Données). Vous pouvez utiliser les commandes LMD INSERT, UPDATE, et DELETE sans restriction en PL/SQL. En incluant des instructions COMMIT ou ROLLBACK dans le code PL/SQL vous levez ainsi les verrous posés sur les enregistrements modifiés (ainsi que sur les tables). L instruction INSERT ajoute de nouveaux enregistrements à la table. L instruction UPDATE modifie les enregistrements existants dans la table. L instruction DELETE supprime les enregistrements dans la table. Les Bases PL/SQL 3-8

9 Insérer des données Ajoutez les informations concernant un nouvel employé à la table emp. Exemple BEGIN INSERT INTO emp(empno, ename, job, deptno) VALUES(empno_sequence.NEXTVAL, 'HARDING', 'CLERK', 10); END; 3-9 Insérer des données Utilisez les fonctions SQL telles que USER et SYSDATE. Générez des valeurs de clé primaire en utilisant les séquences de la base de données. Prenez des valeurs dans les blocs PL/SQL. Choisissez des valeurs par défaut pour les colonnes. Remarque : Il n y a aucune ambiguïté possible entre les identifiants et les noms de colonnes dans l instruction INSERT. Tout identifiant de la clause INSERT doit être un nom de colonne de la base de données. Note au formateur Démo : l3insert.sql Objectif : Cet exemple illustre l utilisation de l instruction INSERT dans un bloc anonyme. Vérifiez que le changement a bien lieu dans la table. Entrez SELECT * FROM emp où empno est le numéro d employé saisi. Les Bases PL/SQL 3-9

10 Mettre à jour des données Augmentez le salaire de tous les employés s de la table emp dont la fonction est Analyste. Exemple DECLARE v_sal_increase emp.sal%type := 2000; BEGIN UPDATE emp SET sal = sal + v_sal_increase WHERE job = 'ANALYST'; END; 3-10 Mettre à jour des Données Il peut y avoir une ambiguïté dans la clause SET de l instruction UPDATE car bien que l identifiant à gauche de l opérateur d affectation soit toujours une colonne de la base de données, l identifiant à droite peut être soit une colonne de la base de données soit une variable PL/SQL. Souvenez vous que la clause WHERE est utilisée pour déterminer quels enregistrements sont modifiés. Si aucun enregistrement n est modifié, aucune erreur ne se produit, contrairement à l instruction SELECT en PL/SQL. Remarque : Les affectations de variables PL/SQL utilisent toujours (:=) tandis que les affectations de colonnes SQL utilisent toujours( =). Souvenez vous que si, dans une clause WHERE, le nom de colonne et le nom d identifiant sont les mêmes, alors le Serveur Oracle cherche d abord le nom de la colonne. Note au formateur Démo : l3insert.sql Objectif : Cet exemple illustre l utilisation de l instruction UPDATE dans un bloc anonyme. Vérifiez que le changement a bien lieu dans la table. Entrez SELECT * FROM emp. Les Bases PL/SQL 3-10

11 Supprimer des données Supprimez les enregistrements dont le département est le 10 dans la table emp. Exemple DECLARE v_deptno emp.deptno%type := 10; BEGIN DELETE FROM emp WHERE deptno = v_deptno; END; 3-11 Supprimer des données Supprimez une commande spécifiée. DECLARE v_ordid ord.ordid%type := 605; BEGIN DELETE FROM item WHERE ordid = v_ordid; END; Note au formateur Démo : l3insert.sql Objectif : Cet exemple illustre l utilisation de l instruction DELETE dans un bloc anonyme. Vérifiez que le changement a bien lieu dans la table. Entrez SELECT * FROM emp où deptno est le numéro de département et CLERK' est la fonction. Les Bases PL/SQL 3-11

12 Conventions d appellation Utilisez une convention d appellation pour éviter toute ambiguïté dans la clause WHERE. Les colonnes de la base de données et les identifiants doivent avoir des noms différents. Des erreurs de syntaxe peuvent survenir car PL/SQL cherche d abord dans la base une colonne de la table Les Bases PL/SQL 3-12

13 Conventions d appellation DECLARE orderdate ord.orderdate%type; shipdate ord.shipdate%type; ordid ord.ordid%type := 601; BEGIN SELECT orderdate, shipdate INTO orderdate, shipdate FROM ord WHERE ordid = ordid; END; SQL> / DECLARE * ERROR at line 1: ORA-01422: exact fetch returns more than requested number of rows ORA-06512: at line Conventions d Appellation Évitez toute ambiguïté dans la clause WHERE en optant pour une convention d appellation qui distingue les noms de colonnes de la base de données des noms de variables PL/SQL. Les colonnes de la base de données et les identifiants doivent avoir des noms distincts. Des erreurs de syntaxe peuvent survenir car le PL/SQL cherche d abord dans la base de données une colonne de la table. L exemple de la diapositive est le suivant : Extraire la date de commande et la date d expédition de la table ORD pour la commande numéro 601. Cet exemple génère une erreur d exécution. Le PL/SQL vérifie si l identifiant est une colonne de la base de données ; si ce n est pas le cas, alors on suppose qu il s agit d un identifiant PL/SQL. Note : Il ne peut y avoir d ambiguïté dans une clause SELECT car tout identifiant doit être un nom de colonne de la base de données. Il ne peut y avoir d ambiguïté dans une clause INTO car les identifiants doivent être des variables PL/SQL. La confusion ne peut exister que dans la clause WHERE. Un chapitre suivant donnera plus d informations sur l exception TOO_MANY_ROWS et les autres exceptions. Les Bases PL/SQL 3-13

14 Instructions COMMIT et ROLLBACK Une transaction est initialisée par la première commande LMD, et doit être suivi d un COMMIT ou d un ROLLBACK. Utilisez les instructions SQL COMMIT ou ROLLBACK pour terminer de façon explicite une transaction Contrôler des transactions Vous pouvez contrôler le déroulement des transactions avec les instructions SQL COMMIT et ROLLBACK, en rendant permattantes les modifications ou en abandonnant les autres. De même qu avec le Serveur Oracle, les transactions commencent à la première commande LMD qui suit un COMMIT ou ROLLBACK, et s achèvent au COMMIT ou ROLLBACK suivant. Ces actions peuvent avoir lieu dans un bloc PL/SQL ou résulter d événements dans l environnement hôte (par exemple, le fait d achever une session SQL*Plus, termine automatiquement la transaction en cours). Pour mettre un point intermédiaire en cours de transaction, utilisez SAVEPOINT. Syntaxe COMMIT [WORK]; SAVEPOINT savepoint_name; ROLLBACK [WORK]; ROLLBACK [WORK] TO [SAVEPOINT] savepoint_name; où : WORK permet de se conformer aux standards ANSI Note : Les commandes de contrôle des transactions sont toutes valides en PL/SQL, bien que l environnement hôte puisse en restreindre l utilisation. Vous pouvez aussi inclure des commandes de verrouillage explicite (telles que LOCK TABLE et SELECT... FOR UPDATE) dans un bloc (un chapitre ultérieur traitera de façon plus complète la commande FOR UPDATE). Elles restent en vigueur jusqu à la fin de la transaction. Par ailleurs, un bloc PL/SQL n implique pas nécessairement une transaction. Les Bases PL/SQL 3-14

15 Curseur SQL Un curseur est une zone de travail réservée à SQL. Il y a deux types de curseurs: Curseurs implicites Curseurs explicites Le Serveur Oracle utilise les curseurs implicites pour analyser et exécuter les instructions SQL. Les curseurs explicites sont déclarés de façon explicite par le programmeur Curseur SQL Lorsque vous utilisez une instruction SQL, le Serveur Oracle alloue une zone mémoire dans laquelle la commande est analysée. Cette zone est appelée un curseur implicite. Lorsque la partie exécutable d un bloc appelle une instruction SQL, le PL/SQL crée un curseur implicite, qui porte l identifiant : SQL. Le PL/SQL gère automatiquement ce curseur. Le programmeur pourra déclarer des curseurs explicites. Il y a quatre attributs applicables aux curseurs en PL/SQL. Remarque : Le chapitre suivant traite plus en détail les curseurs explicites. Pour plus d informations, voir PL/SQL User s Guide and Reference, Release 8, Interaction with Oracle. Les Bases PL/SQL 3-15

16 Attributs d un curseur SQL Grâce aux attributs d un d curseur SQL, vous pouvez tester l issue l de vos instructions SQL. SQL%ROWCOUNT SQL%FOUND SQL%NOTFOUND SQL%ISOPEN Nombre d enregistrements traités par la dernière instruction SQL (une valeur entière) Attribut booléen qui vaut TRUE si la dernière instruction SQL a traité un ou plusieurs enregistrements Attribut booléen qui vaut TRUE si la dernière instruction SQL n a traité aucun enregistrement Vaut toujours FALSE car PL/SQL ferme les curseurs implicites immédiatement après leur exécution Mostafa Hanoune 3-16 Attributs d un curseur SQL Les attributs d un curseur SQL vous permettent de voir ce qui s est passé lorsque le dernier curseur implicite a été exécuté. Vous utilisez ces attributs dans des instructions PL/SQL au même titre que des fonctions. Vous ne pouvez pas les utiliser dans des instructions SQL. Vous pouvez utiliser les attributs SQL%ROWCOUNT, SQL%FOUND, SQL%NOTFOUND, et SQL%ISOPEN dans la section EXCEPTION d un bloc pour obtenir des informations sur l exécution des manipulations des données. Le PL/SQL ne considère pas qu une instruction LMD, qui n affecte aucun enregistrement, a échoué contrairement à l instruction SELECT, qui dans ce cas retourne une exception. Note au formateur SQL%ISOPEN est cité ici dans un souci d exhaustivité ; cet attribut est utilisé avec les curseurs explicites. Les Bases PL/SQL 3-16

17 Attributs d un curseur SQL Supprimez les enregistrements qui ont un numéro de commande spécifi cifié dans la table ITEM. Affichez le nombre d enregistrements supprimés. s. Exemple VARIABLE rows_deleted VARCHAR2(30) DECLARE v_ordid NUMBER := 605; BEGIN DELETE FROM item WHERE ordid = v_ordid; :rows_deleted := (SQL%ROWCOUNT ' rows deleted.'); END; / PRINT rows_deleted Mostafa Hanoune 3-17 Les Bases PL/SQL 3-17

18 Résumé Intégration du SQL dans un bloc PL/SQL : SELECT, INSERT, UPDATE, DELETE Intégration d instructions de contrôle des transactions dans un bloc PL/SQL : COMMIT, ROLLBACK, SAVEPOINT 3-18 Les Bases PL/SQL 3-18

19 Résumé Il y a deux types de curseurs : implicites et explicites. Les attributs d un curseur implicite permettent de vérifier l issue des instructions LMD : 3-19 SQL%ROWCOUNT SQL%FOUND SQL%NOTFOUND SQL%ISOPEN Les curseurs explicites sont définis par le programmeur. Mostafa Hanoune Les Bases PL/SQL 3-19

20 Présentation de l Exercice Créer un bloc PL/SQL pour sélectionner des données d une table Créer un bloc PL/SQL pour insérer des données dans une table Créer un bloc PL/SQL pour mettre à jour des données d une table Créer un bloc PL/SQL pour supprimer un enregistrement d une table 3-20 Aperçu de l exercice Dans cet exercice, vous allez créer des procédures pour sélectionner, saisir, mettre à jour, et supprimer les informations d une table, en utilisant les requêtes SQL de base et les instructions LMD dans un bloc PL/SQL. Les Bases PL/SQL 3-20

21 Exercice 3 1. Créez un bloc PL/SQL qui sélectionne le plus grand numéro de département (DEPTNO) de la table DEPT et le stocke dans une variable SQL*Plus. Affichez le résultat à l écran. Enregistrez votre bloc PL/SQL dans le fichier p3q1.sql. G_MAX_DEPTNO Modifiez le bloc PL/SQL que vous avez créé à la question 1 pour insérer un nouveau département dans la table DEPT. Enregistrez votre bloc PL/SQL dans le fichier p3q2.sql. a. Plutôt que d afficher le numéro de département extrait dans la question 1, ajoutez 10 à ce numéro et utilisez ce nouveau numéro pour créer le nouveau département. b. Utilisez un paramètre de substitution SQL*Plus pour le nom du département. c. Laissez la localité(loc) à la valeur NULL pour l instant. d. Exécutez le bloc PL/SQL. Veuillez saisir le nom du département: EDUCATION PL/SQL procedure successfully completed. e. Affichez le nouveau département que vous avez créé. DEPTNO DNAME LOC EDUCATION 3. Créez un bloc PL/SQL qui mette à jour la localité (LOC) d un département existant. Enregistrez votre bloc PL/SQL dans le fichier p3q3.sql. a. Utilisez un paramètre de substitution SQL*Plus pour le numéro du département (DEPTNO). b. Utilisez un paramètre de substitution SQL*Plus pour la localité du département (LOC). c. Testez le bloc PL/SQL. Veuillez saisir le numéro département: 50 Veuillez saisir la localité du département: LYON PL/SQL procedure successfully completed. Les Bases PL/SQL 3-21

22 Exercice 3 (suite) d. Affichez le numéro, le nom et la localité du département mis à jour. DEPTNO DNAME LOC EDUCATION LYON e. Affichez le département que vous avez mis à jour. 4. Créez un bloc PL/SQL qui supprime le département créé à la question 2. Enregistrez votre bloc PL/SQL dans le fichier p3q4.sql. a. Utilisez un paramètre de substitution SQL*Plus pour le numéro de département. b. Affichez à l écran le nombre d enregistrements affectés. c. Testez le bloc PL/SQL. Veuillez saisir le numéro du département : 50 PL/SQL procedure successfully completed. G_RESULT enregistrement(s) supprimé(s). d. Que se passe-t-il si vous entrez un numéro de département inexistant? Veuillez saisir le numéro du département : 99 PL/SQL procedure successfully completed. G_RESULT enregistrement(s) supprimé(s). e. Vérifiez que le département a bien été supprimé. no rows selected Les Bases PL/SQL 3-22

Mostafa Hanoune. Traitement des Exceptions

Mostafa Hanoune. Traitement des Exceptions Mostafa Hanoune 8 Traitement des Exceptions 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

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

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

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

Chapitre 7 Le Langage de Définition de Données

Chapitre 7 Le Langage de Définition de Données Chapitre 7 Le Langage de Définition de Données Jusque là, nous avons réalisé toutes les interrogations possibles sur les données, sans pour autant savoir comment gérer leurs structures. Dans ce chapitre,

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

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

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

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

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

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

-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

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

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

Modification des données stockées dans une base. LIF4 - Initiation aux Bases de données : SQL - 3. Exemple. Insertion. Insertion utilisant une requête

Modification des données stockées dans une base. LIF4 - Initiation aux Bases de données : SQL - 3. Exemple. Insertion. Insertion utilisant une requête Modification des données stockées dans une base LIF4 - Initiation aux Bases de données : SQL - 3 E.Coquery emmanuel.coquery@liris.cnrs.fr http ://liris.cnrs.fr/ ecoquery La modification s effectue par

Plus en détail

BASES DE DONNÉES RELATIONNELLES Introduction. Christine Bonnet sources : divers et

BASES DE DONNÉES RELATIONNELLES Introduction. Christine Bonnet sources : divers et I BASES DE DONNÉES RELATIONNELLES Introduction Christine Bonnet sources : divers et Cycle de vie du développement d un système Stratégie et Analyse Conception Prototypage Documentation Transition Production

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

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 12c. Programmez. Exercices et corrigés. Jérôme GABILLAUD Anne-Sophie LACROIX

Oracle 12c. Programmez. Exercices et corrigés. Jérôme GABILLAUD Anne-Sophie LACROIX Oracle 12c Programmez avecsqletpl/sql Exercices et corrigés Téléchargement www.editions-eni.fr 90 QCM 93 travaux pratiques et leurs corrigés Près de 28 H de mise en pratique Jérôme GABILLAUD Anne-Sophie

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 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

ORACLE SQL LDD. Langage de définition de données

ORACLE SQL LDD. Langage de définition de données ORACLE SQL LDD Langage de définition de données Le langage SQL (Structured Query Language) SQL a été normalisé par l ANSI puis par l ISO depuis 1986 sous ses différents aspects : LDD : définition des données

Plus en détail

FONCTIONS DE TRAITEMENT} COUNT

FONCTIONS DE TRAITEMENT} COUNT Nom Prénom Promotion Date Buhl Damien Année 1 Groupe 2 21 Janvier 2007 CER Prosit n 22 Mots-Clés : - Requête/Langage SQL Le langage SQL (Structured Query Language) est un langage de requêtes, il permet

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

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

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

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

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

Cours n 6 SQL : Langage de définition des données (LDD)

Cours n 6 SQL : Langage de définition des données (LDD) Cours n 6 SQL : Langage de définition des données (LDD) Chantal Reynaud Université Paris X - Nanterre UFR SEGMI - IUP MIAGE Cours de Systèmes de Gestion de Données Licence MIAGE 2003/2004 1 Plan I. Langage

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

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

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

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

DUT Génie Biologique Option Bioinformatique. Les bases de données relationnelles. Travaux Pratiques n 4

DUT Génie Biologique Option Bioinformatique. Les bases de données relationnelles. Travaux Pratiques n 4 DUT Génie Biologique Option Bioinformatique Les bases de données relationnelles avec MySQL Éric Pipard Travaux Pratiques n 4 Jointures externes Requêtes internes et externes Vues et transactions Objectifs

Plus en détail

SQL : Origines et Evolutions

SQL : Origines et Evolutions SQL : Origines et Evolutions SQL est dérivé de l'algèbre relationnelle et de SEQUEL Il a été intégré à SQL/DS, DB2, puis ORACLE, INGRES, Il existe trois versions normalisées, du simple au complexe : SQL1

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

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

Bases de Données. SQL: Définition

Bases de Données. SQL: Définition Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 SQL: Définition Structured Query Langage(SQL): - Langage g de base dans les SGBD - Langage de

Plus en détail

Cours n 7 Programmation - Introduction au mode application

Cours n 7 Programmation - Introduction au mode application Cours n 7 Programmation - Introduction au mode application Chantal Reynaud Université Paris X - Nanterre UFR SEGMI - IUP MIAGE Cours de Systèmes de Gestion de Données Licence MIAGE 2003-2004 1 Plan I.

Plus en détail

Base de données. Ensuite, on peut utiliser les fonctions length et setlength pour respectivement lire et changer la taille du tableau.

Base de données. Ensuite, on peut utiliser les fonctions length et setlength pour respectivement lire et changer la taille du tableau. Base de données Nouvelles notions Voici quelques nouvelles fonctionnalités du langage dont vous aurez à vous servir. Prenez le temps de bien comprendre et tester les exemples. Tableaux à taille dynamique

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

Déclencheurs Bases de Données TRIGGER. C. Bonnet // R. Chapuis Cours PL/SQL d après cours ORACLE - OAI

Déclencheurs Bases de Données TRIGGER. C. Bonnet // R. Chapuis Cours PL/SQL d après cours ORACLE - OAI Déclencheurs Bases de Données TRIGGER C. Bonnet // R. Chapuis Cours PL/SQL d après cours ORACLE - OAI Généralités Un déclencheur est un traitement (sous forme de bloc PL/SQL) qui s exécute automatiquement

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

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

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

FMIN366 CM3 : Charger de gros volumes de données dans une base de données Oracle

FMIN366 CM3 : Charger de gros volumes de données dans une base de données Oracle FMIN366 CM3 : Charger de gros volumes de données dans une base de données Oracle 1. Manipulation de l utilitaire Oracle de chargement de données SQL*Loader Des fichiers de données au format CSV (Comma

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

Modèle relationnel Création et modification des relations en SQL

Modèle relationnel Création et modification des relations en SQL Modèle relationnel Création et modification des relations en SQL ENT - Clé sql2009 BD - Mírian Halfeld-Ferrari p. 1 Insertion dans une relation Pour insérer un tuple dans une relation: insert into Sailors

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

INSIA Bases de données ORACLE 2 SELECT avancé SQL*Plus SQL Developper

INSIA Bases de données ORACLE 2 SELECT avancé SQL*Plus SQL Developper INSIA Bases de données ORACLE SELECT avancé SQL*Plus SQL Developper http://st-curriculum.oracle.com/tutorial/dbxetutorial/index.htm http://st-curriculum.oracle.com/ http://www.oracle.com/ Bertrand LIAUDET

Plus en détail

2.Créer les pages PHP pour consulter et mettre à jour la table annuaire

2.Créer les pages PHP pour consulter et mettre à jour la table annuaire Université Nice Sophia Antipolis 2007-2008 LPSIL UE SIL-TC3-P1 Module: OSI, INTERNET ET PROGRAMMATION WEB TP 5 Annexe- Utilisation d ORACLE Objectif : Base de Donnée sous ORACLE et PHP Correction : la

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

2011 Hakim Benameurlaine 1

2011 Hakim Benameurlaine 1 Table des matières 1 PRÉSENTATION DE TSQL... 2 1.1 Historique... 2 1.2 Les différents types d instructions... 2 1.2.1 Langage de Définition des Données... 2 1.2.2 Langage de Manipulation des Données...

Plus en détail

MySQL 5. Guide de l'administrateur et du développeur. Michael Kofler. Groupe Eyrolles, 2005 pour l édition française, ISBN : 2-212-11633-0

MySQL 5. Guide de l'administrateur et du développeur. Michael Kofler. Groupe Eyrolles, 2005 pour l édition française, ISBN : 2-212-11633-0 MySQL 5 Guide de l'administrateur et du développeur Michael Kofler Groupe Eyrolles, 2005 pour l édition française, ISBN : 2-212-11633-0 Table des matières Avant-propos..............................................

Plus en détail

Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1

Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1 Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1 Plan Généralités Langage de Définition des (LDD) Langage de Manipulation

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

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

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

6 Transactions (sécurité des données, gestion des accès concurrents)

6 Transactions (sécurité des données, gestion des accès concurrents) 6 Transactions (sécurité des données, gestion des accès concurrents) Transaction Définition : suite d'actions (lectures/écritures) qui manipule/modifie le contenu d une BD en maintenant la cohérence des

Plus en détail

SQLTools en 5 étapes ver. 0.1. Tomasz Drzewiecki - Traduit et adapté de l anglais par Michel Traisnel

SQLTools en 5 étapes ver. 0.1. Tomasz Drzewiecki - Traduit et adapté de l anglais par Michel Traisnel SQLTools en 5 étapes ver. 0.1 Tomasz Drzewiecki - Traduit et adapté de l anglais par Michel Traisnel 23 mars 2005 Table des matières 1 Connexion 2 2 Fenêtre principale 3 3 Liste des objets 6 4 Et maintenant

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

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

3 - Administration de BD SQL. Chapitre III. Administration des BD SQL. Actions possibles. Composants ORACLE. Chapitre 3 : Administration des BD SQL 1

3 - Administration de BD SQL. Chapitre III. Administration des BD SQL. Actions possibles. Composants ORACLE. Chapitre 3 : Administration des BD SQL 1 3 - Administration de BD SQL Chapitre III Administration des BD SQL 3.1 Création de BD 3.2 Gestion des utilisateurs 3.3 Administration des transactions 3.4 Accès à une BD distante 3.5 Conclusions Composants

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

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

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

SQL et Langages de Programmation

SQL et Langages de Programmation SQL et Langages de Programmation SQL est un langage bases de données autonome. Langage ensembliste de haut niveau Il faut un langage de programmation, pour programmer des applications de gestion o Notion

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

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

1.1 Création d'une table : CREATE TABLE

1.1 Création d'une table : CREATE TABLE SQL : LDD et LMD SQL ne se résume pas aux requêtes d'interrogation d'une base. Ce langage permet aussi de : - créer des tables - de modifier la structure de tables existantes - de modifier le contenu des

Plus en détail

SQL : création et mises-à-jour de schémas et de données

SQL : création et mises-à-jour de schémas et de données SQL : création et mises-à-jour de schémas et de données Commandes de définition de données (DDL) Commandes de mise-à-jour de données (DML) Vues SQL-MAJ, vues-1 / 33 Exemple Définition de la relation

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

Bases de données Cours 7 : Modèle relationnel-objet

Bases de données Cours 7 : Modèle relationnel-objet -relationnel Cours 7 : Modèle relationnel-objet ESIL Université de la méditerranée Odile.Papini@esil.univ-mrs.fr http://pages-perso.esil.univmed.fr/ papini/ -relationnel Plan du cours 1 Introduction 2

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

TP n o 14 : Bases de données, première partie

TP n o 14 : Bases de données, première partie TP n o 14 : Bases de données, première partie I Introduction Dans ce TP nous allons effectuer des opérations élementaires sur une base de données ne comportant qu une seule table. Lors de la prochaine

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

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 MABD Master Informatique Spécialité IAD. Cours 3 Modèle objet-relationnel et SQL3

Module MABD Master Informatique Spécialité IAD. Cours 3 Modèle objet-relationnel et SQL3 Module MABD Master Informatique Spécialité IAD Cours 3 Modèle objet-relationnel et SQL3 1 L'objet-relationnel Relationnel (tables, attributs, domaine, clé) + Objet (collections, identifiants, héritage,

Plus en détail

PHP 6. www.fenetresurtoile.com PHP 6. Jean-François Ramiara. FAD Réseau Pyramide 14/01/2013 Toulouse. Copyright J.F. Ramiara Tous droits réservés

PHP 6. www.fenetresurtoile.com PHP 6. Jean-François Ramiara. FAD Réseau Pyramide 14/01/2013 Toulouse. Copyright J.F. Ramiara Tous droits réservés www.fenetresurtoile.com Jean-François Ramiara FAD Réseau Pyramide 14/01/2013 Toulouse 1 www.fenetresurtoile.com Sommaire Introduction Ajout avec SQL Modification avec SQL Suppression avec SQL Mises à jour

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

Informatique en CPGE (2015-2016) Le langage SQL

Informatique en CPGE (2015-2016) Le langage SQL Informatique en CPGE (2015-2016) Le langage SQL S. B. Lycée des EK 30 mai 2016 Le SQL (Structured Query Language = langage de requêtes structuré) est un langage informatique de dialogue avec une base de

Plus en détail

Informatique Initiation aux requêtes SQL. Sommaire

Informatique Initiation aux requêtes SQL. Sommaire cterrier.com 1/14 04/03/2008 Informatique Initiation aux requêtes SQL Auteur : C. Terrier ; mailto:webmaster@cterrier.com ; http://www.cterrier.com Utilisation : Reproduction libre pour des formateurs

Plus en détail

DECLARE : n'est nécessaire que si il y a des déclarations locales au bloc.

DECLARE : n'est nécessaire que si il y a des déclarations locales au bloc. Introduction Utilisation de PL/SQL : Procedural Language : langage de développement pour Oracle PL/SQL est un langage hôte, ce qui signifie qu'il peut accueillir des ordres SQL, il est proche du Pascal

Plus en détail

Références et héritage

Références et héritage Références et héritage Contraintes référentielles pour assurer la consistance d un schéma de données Utilisation (pervertie) de l héritage objets pour faire du polymorphisme et assurer la cohérence d un

Plus en détail

Bases de données (SQL)

Bases de données (SQL) Bases de données (SQL) Skander Zannad et Judicaël Courant 2014-03-26 1 Le modèle logique (MLD) On a représenté des données par des tables. Par exemple, pour les films : The good, the Bad and the Ugly 1966

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. C. Bonnet // R. Chapuis. Cours PL/SQL d après cours ORACLE - OAI

PL / SQL. C. Bonnet // R. Chapuis. Cours PL/SQL d après cours ORACLE - OAI PL / SQL Cours PL/SQL d après cours ORACLE - OAI Généralités - PL/SQL PL/SQL est une extension procédurale du langage SQL. Possibilité d inclure des requêtes et des ordres de manipulation des données à

Plus en détail

Programmation avec un L3G Interaction d une application utilisant les méthodes

Programmation avec un L3G Interaction d une application utilisant les méthodes Programmation avec un L3G Interaction d une application utilisant les méthodes André Gamache, professeur associé Département d'informatique et de génie logiciel Faculté des sciences et de génie Université

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

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

Fiches Outil Acces Sommaire

Fiches Outil Acces Sommaire Fiches Outil Acces Sommaire Fiche Outil Access n 1 :... 2 Le vocabulaire d Access... 2 Fiche Outil Access n 2 :... 4 Créer une table dans la base... 4 Fiche Outil Access n 3 :... 6 Saisir et modifier des

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

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes. Les Triggers SQL Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr 1 Sommaire Motivations Trigger Ordre Trigger Ligne Condition Trigger

Plus en détail

PRIMITIVES DE MISES A JOUR DES DONNEES

PRIMITIVES DE MISES A JOUR DES DONNEES PRIMITIVES DE MISES A JOUR DES DONNEES Ce sont les commandes pour insérer (ajouter) de nouvelles lignes dans une table, modifier des lignes existantes et en supprimer. Il existe, de plus, deux commandes

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 6 : Les sous programmes stockés et les packages Faîçal Felhi felhi_fayssal@yahoo.fr Introduction La différence entre une procédure

Plus en détail

Cours 2 : SQL Structured Query Language

Cours 2 : SQL Structured Query Language Cours 2 : SQL Structured Query Language SQL Langage permettant de définir, manipuler et contrôler les données d une BD relationnelle Objet d une norme de l Institut National Américain de Normalisation

Plus en détail

Formation PHP/MySQL. Pierre PATTARD. Avril 2005

Formation PHP/MySQL. Pierre PATTARD. Avril 2005 Formation PHP/MySQL Pierre PATTARD Julien BENOIT Avril 2005 Le PHP Langage interprété, côté serveur pages interprétées par le serveur web pas de compilation, code éditable avec un bloc notes. aucune différences

Plus en détail

ArcGIS 10.1 et 10.2.x : guide de l utilisateur pour l installation et l autorisation

ArcGIS 10.1 et 10.2.x : guide de l utilisateur pour l installation et l autorisation ArcGIS 10.1 et 10.2.x : guide de l utilisateur pour l installation et l autorisation Le présent document décrit la marche à suivre pour télécharger et activer ArcGIS 10.1 et 10.2.x. Premier pas : Création

Plus en détail

Bases du langage de programmation

Bases du langage de programmation Chapitre 6 Bases du langage de programmation Ce chapitre décrit les caractéristiques générales du langage procédural de programmation de MySQL : structure d un programme ; déclaration et affectation de

Plus en détail

Chapitre 1 Installer MySQL 5 21

Chapitre 1 Installer MySQL 5 21 Chapitre 1 Installer MySQL 5 21 1.1. Les outils nécessaires... 22 1.2. Télécharger et installer le serveur MySQL... 22 Télécharger la dernière version... 22 Lancer l installation sous Windows... 23 Lancer

Plus en détail