Example: bankruptcy

Oracle : Langage PL/SQL 1 Introduction à PL/SQL

Oracle : Langage PL/SQL . 1 Introduction PL/SQL . PL/SQL est un Langage de programmation proc dural et structur . Langage de programmation Il contient un ensemble d'instructions permettant de mettre en oeuvre les principes de l'algorithmique. - D claration de variables, de types, de fonctions, de proc dures - Instructions d'a ectation, conditionnelles, it ratives - Fonctions num riques et de manipulations de cha nes de caract res, de dates Int gration du Langage SQL. - Commande SELECT. - Commande INSERT, UPDATE, DELETE. - Commande de gestion de transaction COMMIT, ROLLBACK, SAVEPOINT.

Oracle : Langage PL/SQL 1 Introduction à 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 en oeuvre les principes de l'algorithmique.

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of Oracle : Langage PL/SQL 1 Introduction à PL/SQL

1 Oracle : Langage PL/SQL . 1 Introduction PL/SQL . PL/SQL est un Langage de programmation proc dural et structur . Langage de programmation Il contient un ensemble d'instructions permettant de mettre en oeuvre les principes de l'algorithmique. - D claration de variables, de types, de fonctions, de proc dures - Instructions d'a ectation, conditionnelles, it ratives - Fonctions num riques et de manipulations de cha nes de caract res, de dates Int gration du Langage SQL. - Commande SELECT. - Commande INSERT, UPDATE, DELETE. - Commande de gestion de transaction COMMIT, ROLLBACK, SAVEPOINT.

2 - Utilisation de fonctions SQL : TO_CHAR, TO_NUMBER, SUBSTR, .. Gestion de curseurs - Instructions DECLARE, OPEN, FETCH, CLOSE. Gestion des erreurs - Gestion standard des erreurs par Oracle . - D nition et gestion de traitements d'erreurs propres au d veloppeur PL/SQL dans le monde Oracle . - disponible dans les outils de d veloppement Oracle *FORMS, SQL*plus, .. - d nition de CI, de triggers , de proc dures stock es. 2 Les blocs PL/SQL . Le bloc est l'unit de programmation PL/SQL . Structure d'un bloc SQL. DECLARE. /* D claration des variables, des types, des curseurs, fonctions et proc dures */.

3 BEGIN. /* Instructions PL/SQL ; tout instruction est termin e par ; */. EXCEPTION. /* Traitement des erreurs */. END ;. Les blocs peuvent tre imbriqu s. DECLARE. D clarations de variables Variables simples Syntaxe Nom_var [CONSTANT] Type_Donn e [NOT NULL] [ :=expr_pl/sql] ;. Exemples : COMPTEUR Number;. TOTAL Number(8,2);. 1. QUOTA Number Default 10;. NBR_MIN CONSTANT Number :=1;. NBR_MAX Number Default NBR_MIN*QUOTA;. V_NOM Varchar2(50);. V_NUM Number NOT NULL :=1;. Variables %TYPE. Syntaxe Nom_var [CONSTANT] Identi ant%TYPE [NOT NULL] [ :=expr_pl/sql].

4 D claration d'une variable faisant r f rence l'identi ant. Le type de la variable sera celui de l'identi ant. L'iden- ti ant doit tre le nom d'une variable pr alablement d nie dans le bloc ou le nom d'un attribut d'une table de la base de donn es. Exemples : V_COMPT COMPTEUR%TYPE;. V_NOMP ;. Variables %ROWTYPE. Syntaxe Nom_var [CONSTANT] Identi ant%ROWTYPE [NOT NULL] [ :=expr_pl/sql] ;. D claration d'une variable correspondant une matrice ayant la m me structure (nom et type) que ceux de l'iden- ti ant. L'identi ant doit tre le nom d'une variable curseur pr alablement d nie dans le bloc ou le nom d'une table de la base de donn es.

5 Un attribut ou champ de la matrice sera acc d par la syntaxe Exemples : V_PRIX PRIX%ROWTYPE;. V_CURS CURSEUR1%ROWTYPE;. Variables Curseur Le programmeur ne d clare dans la section DECLARE que les curseurs dits explicites c'est dire une zone m moire associ e une requ te select qui permet de r cup rer les n-uplets de la requ te. Syntaxe CURSOR nom_curseur [(nom_param tre type_param tre)] IS requ te_select [FOR UPDATE OF nom_attribut]. Exemples : CURSOR CURSEUR1 IS. Select nomp,cout From Prix Where nomf='SAMACO';. CURSOR Bonclient(V_solde number(8)) IS. Select nomc,adresc From client Where solde>V_solde.

6 D claration de Types Type sp ci que RECORD. Syntaxe TYPE Nom_type IS RECORD (nom_champ1 Type_Donn e [NOT NULL], (nom_champ2 Type_Donn e [NOT. NULL],..) ;. Type_Donn e tous les types de variables possibles NOT NULL les champs correspondants devront tre initialis s Exemples : TYPE T_Date IS RECORD. (JOUR INTEGER, MOIS INTEGER, ANNEE INTEGER);. V_Date T_Date;. TYPE T_Client IS RECORD. 2. (NOM VARCHAR2(30), PRENOM VARCHAR2(30), DATE_NAIS T_Date);. Type sp ci que TABLE. Syntaxe TYPE Nom_type IS TABLE OF type_attribut [NOT NULL], INDEX BY BINARY_INTEGER ;. type_attribut # Type de donn es de l'attribut concern.)

7 NOT NULL # Ne pas ins rer de valeur nulle dans un n-uplet de la table INDEX BY BINARY_INTEGER # Cr ation d'un attribut contenant l'indice du n-uplet de type obligatoire BINARY_INTEGER. Exemple : TYPE ADRESSE IS TABLE OF. CHAR(20). INDEX BY BINARY_INTEGER;. TABLE_ADRESSE ADRESSE;. INDICE BINARY_INTEGER;. D claration de Proc dures Les proc dures doivent tre d clar es en n de section DECLARE. Une proc dure peut tre consid r e comme un sous_bloc r alisant un traitement sp ci que. Une proc dure ne peut tre utilis e que dans le bloc qui la d clare. Une proc dure est constitu e de deux parties : l'en_t te et le bloc de d claration.

8 Syntaxe PROCEDURE Nom_proc dure [ (Param tre1, ..) ] IS. d claration de variables locales BEGIN. instructions [EXCEPTIONS. gestion des erreurs]. END [Nom_proc dure] ;. Param tres nom_param [IN | OUT | IN OUT ] TYPE [ := exp_pl/sql]. IN modi cations non prises en compte (par valeur). OUT valeur en entr e non utilisable IN OUT modi cations prises en compte (par r f rence). TYPE tous les types de variable Exemple : PROCEDURE SUP_Client (N IN Number) IS.. BEGIN. /* code de la suppression*/. END SUP_Client;. Fonctions Les fonctions doivent tre d clar es en n de section DECLARE.

9 Une fonction peut tre consid r e comme un sous_bloc r alisant un traitement sp ci que retournant une valeur . la n du traitement. Une fonction ne peut tre utilis e que dans le bloc qui la d clare. Une proc dure est constitu e de deux parties : l'en_t te et le bloc de d claration. Syntaxe FUNCTION Nom_fonction [ (Param tre1, ..) ] RETURN TYPE IS. d claration de variables locales 3. BEGIN. instructions [EXCEPTIONS. gestion des erreurs]. END [Nom_fonction] ;. Param tres nom_param [IN | OUT | IN OUT ] TYPE [ := exp_pl/sql]. IN modi cations non prises en compte (par valeur).

10 OUT valeur en entr e non utilisable IN OUT modi cations prises en compte (par r f rence). TYPE tous les types de variable Exemple : FUNCTION TOT_Com (Prix IN Number, QTE IN Number) RETURN REAL IS.. BEGIN. /* calcul du total*/. END TOT_Com;. Instructions du corps de bloc Le corps d'un bloc commence par le mot r serv BEGIN et nit sur le mot r serv END ;. A ectations L'a ectation classique :=. L'ordre SELECT. Conditionnelles IF < condition >. THEN < instruction >;. END IF ;. IF < condition >. THEN < instruction > ;. ELSE < instruction > ;. END IF ;. Condition < Op rande > < Op rateur > < Op rande >.