SlideShare une entreprise Scribd logo
1  sur  22
Copyright © Oracle Corporation, 2001. Tous droits réservés.
Ecrire des instructions
exécutables
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-2
Objectifs
A la fin de ce chapitre, vous pourrez :
• comprendre l'utilité de la section exécutable
• utiliser correctement les identificateurs
• écrire des instructions dans la section exécutable
• décrire les règles des blocs imbriqués
• exécuter et tester un bloc PL/SQL
• utiliser des conventions de codage
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-3
Syntaxe et remarques relatives
aux blocs PL/SQL
• Les instructions peuvent s'étendre sur plusieurs
lignes
• Les unités lexicales se répartissent en plusieurs
catégories :
– délimiteurs
– identificateurs
– littéraux
– commentaires
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-5
Identificateurs
• Peuvent contenir jusqu'à 30 caractères
• Doivent commencer par une valeur alphabétique
• Peuvent contenir des valeurs numériques, des
traits de soulignement, ainsi que les signes dollar
et dièse
• Ne doivent pas contenir de caractères tels que les
traits d'union et les barres obliques, ni d'espaces
• Ne doivent pas porter le même nom qu'une
colonne de table de la base de données
• Ne doivent pas correspondre à des mots réservés
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-6
Syntaxe et remarques relatives
aux blocs PL/SQL
• Littéraux
– Les littéraux de type caractère et date doivent être
mis entre apostrophes.
– Les nombres peuvent correspondre à des valeurs
simples ou à une notation scientifique.
• Une barre oblique ( / ) permet d'exécuter le bloc
PL/SQL dans un fichier script ou dans certains
outils tels que iSQL*PLUS.
v_name := 'Henderson';
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-7
Commenter le code
• Faire précéder les commentaires monolignes de
deux tirets (--)
• Placer les commentaires multilignes entre les
symboles /* et */
Exemple :
DECLARE
...
v_sal NUMBER (9,2);
BEGIN
/* Compute the annual salary based on the
monthly salary input from the user */
v_sal := :g_monthly_sal * 12;
END; -- This is the end of the block
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-8
Fonctions SQL en PL/SQL
• Disponibles dans les instructions procédurales :
– fonctions monolignes numériques
– fonctions monolignes de
type caractère
– fonctions de conversion de
type de données
– fonctions de date
– fonctions d'horodatage
– fonctions GREATEST et LEAST
– fonctions diverses
• Non disponibles dans les instructions
procédurales :
– fonction DECODE
– fonctions de groupe
Identique en SQL
}
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-9
Fonctions SQL en PL/SQL : exemples
• Créer l'adresse postale d'une société
• Convertir le nom d'un employé en minuscules
v_mailing_address := v_name||CHR(10)||
v_address||CHR(10)||v_state||
CHR(10)||v_zip;
v_ename := LOWER(v_ename);
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-10
Conversion de type de données
• Convertir des données en types de données
comparables
• Mélanger les types de données peut provoquer
des erreurs ou nuire aux performances
• Fonctions de conversion :
– TO_CHAR
– TO_DATE
– TO_NUMBER
DECLARE
v_date DATE := TO_DATE('12-JAN-2001', 'DD-MON-YYYY');
BEGIN
. . .
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-11
Conversion de type de données
L'instruction suivante génère une erreur de
compilation si la variable v_date est déclarée en
tant que type de données DATE .
v_date := 'January 13, 2001';
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-12
Conversion de type de données
v_date := TO_DATE ('January 13, 2001',
'Month DD, YYYY');
Pour corriger cette erreur, il faut utiliser la fonction
de conversion TO_DATE .
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-13
Blocs imbriqués et portée des variables
• Les blocs PL/SQL peuvent être imbriqués partout
où une instruction exécutable est permise
• Un bloc imbriqué devient une instruction
• Une section de traitement des exceptions peut
contenir des blocs imbriqués
• La portée d'un identificateur correspond à la
région d'un programme (bloc, sous-programme ou
package) à partir de laquelle vous pouvez
référencer l'identificateur
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-14
Blocs imbriqués et portée des variables
...
x BINARY_INTEGER;
BEGIN
...
DECLARE
y NUMBER;
BEGIN
y:= x;
END;
...
END;
Portée de x
Portée de y
Exemple :
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-15
Portée de l'identificateur
Un identificateur est visible dans les régions à partir
desquelles vous pouvez le référencer sans devoir le
qualifier :
• un bloc peut effectuer une recherche dans le bloc
englobant
• un bloc ne peut pas effectuer de recherche dans
les blocs qu'il englobe
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-16
Qualifier un identificateur
• Le qualificatif peut correspondre à l'étiquette d'un
bloc englobant
• Qualifier un identificateur en utilisant l'étiquette du
bloc en tant que préfixe
<<outer>>
DECLARE
birthdate DATE;
BEGIN
DECLARE
birthdate DATE;
BEGIN
...
outer.birthdate :=
TO_DATE('03-AUG-1976',
'DD-MON-YYYY');
END;
....
END;
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-17
Déterminer la portée d'une variable
Exercice
<<outer>>
DECLARE
v_sal NUMBER(7,2) := 60000;
v_comm NUMBER(7,2) := v_sal * 0.20;
v_message VARCHAR2(255) := ' eligible for commission';
BEGIN
DECLARE
v_sal NUMBER(7,2) := 50000;
v_comm NUMBER(7,2) := 0;
v_total_comp NUMBER(7,2) := v_sal + v_comm;
BEGIN
v_message := 'CLERK not'||v_message;
outer.v_comm := v_sal * 0.30;
END;
v_message := 'SALESMAN'||v_message;
END;
2
1
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-18
Opérateurs en PL/SQL
• Opérateur logique
• Opérateur arithmétique
• Opérateur de concaténation
• Parenthèses permettant de
contrôler l'ordre des opérations
• Opérateur exponentiel (**)
Identiques
en SQL
}
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-19
Exemples :
• Incrémenter le compteur d'une boucle.
• Définir la valeur d'un indicateur booléen.
• Vérifier si un numéro d'employé contient une
valeur.
Opérateurs en PL/SQL
v_count := v_count + 1;
v_equal := (v_n1 = v_n2);
v_valid := (v_empno IS NOT NULL);
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-20
Remarques relatives à la programmation
Faciliter la maintenance du code en :
• commentant le code
• développant une convention d'utilisation des
majuscules et des minuscules
• développant des conventions d'appellation pour
les identificateurs et les autres objets
• réalisant des indentations pour améliorer la clarté
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-21
Indenter le code
Pour plus de clarté, indenter chaque niveau du code
Exemple :
BEGIN
IF x=0 THEN
y:=1;
END IF;
END;
DECLARE
v_deptno NUMBER(4);
v_location_id NUMBER(4);
BEGIN
SELECT department_id,
location_id
INTO v_deptno,
v_location_id
FROM departments
WHERE department_name
= 'Sales';
...
END;
/
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-22
Synthèse
Ce chapitre vous a appris les règles suivantes :
• syntaxe et remarques relatives aux blocs PL/SQL
• utilisation correcte des identificateurs
• structure des blocs PL/SQL : imbrication des
blocs et règles de portée
• programmation en PL/SQL :
– fonctions
– fonctions de conversion de type de données
– opérateurs
– conventions et remarques
DECLARE
BEGIN
END;
EXCEPTION
…
…
…
Copyright © Oracle Corporation, 2001. Tous droits réservés.
2-23
Présentation de l'exercice 2
Dans cet exercice, vous allez :
• revoir les règles de portée et d'imbrication
• développer et tester des blocs PL/SQL

Contenu connexe

Similaire à Les02.ppt

7 Programmation PL-SQL Oracle.pdf
7 Programmation PL-SQL Oracle.pdf7 Programmation PL-SQL Oracle.pdf
7 Programmation PL-SQL Oracle.pdfuser2023moi
 
Presentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptxPresentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptxPriscilleGANKIA
 
1444475541443.pptx
1444475541443.pptx1444475541443.pptx
1444475541443.pptxtirike6016
 
1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdf1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdfImaneZoubir1
 
SysML (Valtech Days 2008)
SysML (Valtech Days 2008)SysML (Valtech Days 2008)
SysML (Valtech Days 2008)Pascal Roques
 
L'Ordre SELECT Élémentaire | SQL Oracle
L'Ordre SELECT Élémentaire | SQL OracleL'Ordre SELECT Élémentaire | SQL Oracle
L'Ordre SELECT Élémentaire | SQL Oraclewebreaker
 
architectureNTiers.pdf
architectureNTiers.pdfarchitectureNTiers.pdf
architectureNTiers.pdfbetxso156
 
chapitre2-modbus-210624210251.pdf
chapitre2-modbus-210624210251.pdfchapitre2-modbus-210624210251.pdf
chapitre2-modbus-210624210251.pdfhadda belhadj
 
Chapitre 2 - Protocole Modbus (2020/2021)
Chapitre 2 - Protocole Modbus (2020/2021)Chapitre 2 - Protocole Modbus (2020/2021)
Chapitre 2 - Protocole Modbus (2020/2021)Tarik Zakaria Benmerar
 
injection sql for cybersecurity studentsss.pptx
injection sql for cybersecurity studentsss.pptxinjection sql for cybersecurity studentsss.pptx
injection sql for cybersecurity studentsss.pptxChaymaeElhasnaoui
 
Modeliser une application_web
Modeliser une application_webModeliser une application_web
Modeliser une application_webMoez Moezm
 
Cours Bus de communication et réseaux industriels. Chapitre 2 : Modbus.
Cours Bus de communication et réseaux industriels. Chapitre 2 : Modbus.Cours Bus de communication et réseaux industriels. Chapitre 2 : Modbus.
Cours Bus de communication et réseaux industriels. Chapitre 2 : Modbus.Tarik Zakaria Benmerar
 

Similaire à Les02.ppt (20)

7 Programmation PL-SQL Oracle.pdf
7 Programmation PL-SQL Oracle.pdf7 Programmation PL-SQL Oracle.pdf
7 Programmation PL-SQL Oracle.pdf
 
FIP_pl-sql.pdf
FIP_pl-sql.pdfFIP_pl-sql.pdf
FIP_pl-sql.pdf
 
Presentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptxPresentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptx
 
1444475541443.pptx
1444475541443.pptx1444475541443.pptx
1444475541443.pptx
 
1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdf1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdf
 
Les04.ppt
Les04.pptLes04.ppt
Les04.ppt
 
Intro.ppt
Intro.pptIntro.ppt
Intro.ppt
 
SysML (Valtech Days 2008)
SysML (Valtech Days 2008)SysML (Valtech Days 2008)
SysML (Valtech Days 2008)
 
Les08.ppt
Les08.pptLes08.ppt
Les08.ppt
 
L'Ordre SELECT Élémentaire | SQL Oracle
L'Ordre SELECT Élémentaire | SQL OracleL'Ordre SELECT Élémentaire | SQL Oracle
L'Ordre SELECT Élémentaire | SQL Oracle
 
architectureNTiers.pdf
architectureNTiers.pdfarchitectureNTiers.pdf
architectureNTiers.pdf
 
chapitre2-modbus-210624210251.pdf
chapitre2-modbus-210624210251.pdfchapitre2-modbus-210624210251.pdf
chapitre2-modbus-210624210251.pdf
 
Chapitre 2 - Protocole Modbus (2020/2021)
Chapitre 2 - Protocole Modbus (2020/2021)Chapitre 2 - Protocole Modbus (2020/2021)
Chapitre 2 - Protocole Modbus (2020/2021)
 
injection sql for cybersecurity studentsss.pptx
injection sql for cybersecurity studentsss.pptxinjection sql for cybersecurity studentsss.pptx
injection sql for cybersecurity studentsss.pptx
 
High performance jss 2012
High performance jss 2012High performance jss 2012
High performance jss 2012
 
Plsql
PlsqlPlsql
Plsql
 
Modeliser une application_web
Modeliser une application_webModeliser une application_web
Modeliser une application_web
 
C#
C#C#
C#
 
Cours Bus de communication et réseaux industriels. Chapitre 2 : Modbus.
Cours Bus de communication et réseaux industriels. Chapitre 2 : Modbus.Cours Bus de communication et réseaux industriels. Chapitre 2 : Modbus.
Cours Bus de communication et réseaux industriels. Chapitre 2 : Modbus.
 
Les05.ppt
Les05.pptLes05.ppt
Les05.ppt
 

Dernier

pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdfpdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdfMedAbdelhayeSidiAhme
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 
le probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptxle probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptximaneeaouattahee
 
mémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoiremémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoireEzechiasSteel
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésSana REFAI
 

Dernier (6)

pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdfpdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
le probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptxle probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptx
 
mémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoiremémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoire
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigés
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 

Les02.ppt

  • 1. Copyright © Oracle Corporation, 2001. Tous droits réservés. Ecrire des instructions exécutables
  • 2. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-2 Objectifs A la fin de ce chapitre, vous pourrez : • comprendre l'utilité de la section exécutable • utiliser correctement les identificateurs • écrire des instructions dans la section exécutable • décrire les règles des blocs imbriqués • exécuter et tester un bloc PL/SQL • utiliser des conventions de codage
  • 3. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-3 Syntaxe et remarques relatives aux blocs PL/SQL • Les instructions peuvent s'étendre sur plusieurs lignes • Les unités lexicales se répartissent en plusieurs catégories : – délimiteurs – identificateurs – littéraux – commentaires
  • 4. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-5 Identificateurs • Peuvent contenir jusqu'à 30 caractères • Doivent commencer par une valeur alphabétique • Peuvent contenir des valeurs numériques, des traits de soulignement, ainsi que les signes dollar et dièse • Ne doivent pas contenir de caractères tels que les traits d'union et les barres obliques, ni d'espaces • Ne doivent pas porter le même nom qu'une colonne de table de la base de données • Ne doivent pas correspondre à des mots réservés
  • 5. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-6 Syntaxe et remarques relatives aux blocs PL/SQL • Littéraux – Les littéraux de type caractère et date doivent être mis entre apostrophes. – Les nombres peuvent correspondre à des valeurs simples ou à une notation scientifique. • Une barre oblique ( / ) permet d'exécuter le bloc PL/SQL dans un fichier script ou dans certains outils tels que iSQL*PLUS. v_name := 'Henderson';
  • 6. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-7 Commenter le code • Faire précéder les commentaires monolignes de deux tirets (--) • Placer les commentaires multilignes entre les symboles /* et */ Exemple : DECLARE ... v_sal NUMBER (9,2); BEGIN /* Compute the annual salary based on the monthly salary input from the user */ v_sal := :g_monthly_sal * 12; END; -- This is the end of the block
  • 7. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-8 Fonctions SQL en PL/SQL • Disponibles dans les instructions procédurales : – fonctions monolignes numériques – fonctions monolignes de type caractère – fonctions de conversion de type de données – fonctions de date – fonctions d'horodatage – fonctions GREATEST et LEAST – fonctions diverses • Non disponibles dans les instructions procédurales : – fonction DECODE – fonctions de groupe Identique en SQL }
  • 8. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-9 Fonctions SQL en PL/SQL : exemples • Créer l'adresse postale d'une société • Convertir le nom d'un employé en minuscules v_mailing_address := v_name||CHR(10)|| v_address||CHR(10)||v_state|| CHR(10)||v_zip; v_ename := LOWER(v_ename);
  • 9. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-10 Conversion de type de données • Convertir des données en types de données comparables • Mélanger les types de données peut provoquer des erreurs ou nuire aux performances • Fonctions de conversion : – TO_CHAR – TO_DATE – TO_NUMBER DECLARE v_date DATE := TO_DATE('12-JAN-2001', 'DD-MON-YYYY'); BEGIN . . .
  • 10. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-11 Conversion de type de données L'instruction suivante génère une erreur de compilation si la variable v_date est déclarée en tant que type de données DATE . v_date := 'January 13, 2001';
  • 11. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-12 Conversion de type de données v_date := TO_DATE ('January 13, 2001', 'Month DD, YYYY'); Pour corriger cette erreur, il faut utiliser la fonction de conversion TO_DATE .
  • 12. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-13 Blocs imbriqués et portée des variables • Les blocs PL/SQL peuvent être imbriqués partout où une instruction exécutable est permise • Un bloc imbriqué devient une instruction • Une section de traitement des exceptions peut contenir des blocs imbriqués • La portée d'un identificateur correspond à la région d'un programme (bloc, sous-programme ou package) à partir de laquelle vous pouvez référencer l'identificateur
  • 13. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-14 Blocs imbriqués et portée des variables ... x BINARY_INTEGER; BEGIN ... DECLARE y NUMBER; BEGIN y:= x; END; ... END; Portée de x Portée de y Exemple :
  • 14. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-15 Portée de l'identificateur Un identificateur est visible dans les régions à partir desquelles vous pouvez le référencer sans devoir le qualifier : • un bloc peut effectuer une recherche dans le bloc englobant • un bloc ne peut pas effectuer de recherche dans les blocs qu'il englobe
  • 15. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-16 Qualifier un identificateur • Le qualificatif peut correspondre à l'étiquette d'un bloc englobant • Qualifier un identificateur en utilisant l'étiquette du bloc en tant que préfixe <<outer>> DECLARE birthdate DATE; BEGIN DECLARE birthdate DATE; BEGIN ... outer.birthdate := TO_DATE('03-AUG-1976', 'DD-MON-YYYY'); END; .... END;
  • 16. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-17 Déterminer la portée d'une variable Exercice <<outer>> DECLARE v_sal NUMBER(7,2) := 60000; v_comm NUMBER(7,2) := v_sal * 0.20; v_message VARCHAR2(255) := ' eligible for commission'; BEGIN DECLARE v_sal NUMBER(7,2) := 50000; v_comm NUMBER(7,2) := 0; v_total_comp NUMBER(7,2) := v_sal + v_comm; BEGIN v_message := 'CLERK not'||v_message; outer.v_comm := v_sal * 0.30; END; v_message := 'SALESMAN'||v_message; END; 2 1
  • 17. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-18 Opérateurs en PL/SQL • Opérateur logique • Opérateur arithmétique • Opérateur de concaténation • Parenthèses permettant de contrôler l'ordre des opérations • Opérateur exponentiel (**) Identiques en SQL }
  • 18. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-19 Exemples : • Incrémenter le compteur d'une boucle. • Définir la valeur d'un indicateur booléen. • Vérifier si un numéro d'employé contient une valeur. Opérateurs en PL/SQL v_count := v_count + 1; v_equal := (v_n1 = v_n2); v_valid := (v_empno IS NOT NULL);
  • 19. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-20 Remarques relatives à la programmation Faciliter la maintenance du code en : • commentant le code • développant une convention d'utilisation des majuscules et des minuscules • développant des conventions d'appellation pour les identificateurs et les autres objets • réalisant des indentations pour améliorer la clarté
  • 20. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-21 Indenter le code Pour plus de clarté, indenter chaque niveau du code Exemple : BEGIN IF x=0 THEN y:=1; END IF; END; DECLARE v_deptno NUMBER(4); v_location_id NUMBER(4); BEGIN SELECT department_id, location_id INTO v_deptno, v_location_id FROM departments WHERE department_name = 'Sales'; ... END; /
  • 21. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-22 Synthèse Ce chapitre vous a appris les règles suivantes : • syntaxe et remarques relatives aux blocs PL/SQL • utilisation correcte des identificateurs • structure des blocs PL/SQL : imbrication des blocs et règles de portée • programmation en PL/SQL : – fonctions – fonctions de conversion de type de données – opérateurs – conventions et remarques DECLARE BEGIN END; EXCEPTION … … …
  • 22. Copyright © Oracle Corporation, 2001. Tous droits réservés. 2-23 Présentation de l'exercice 2 Dans cet exercice, vous allez : • revoir les règles de portée et d'imbrication • développer et tester des blocs PL/SQL