0% ont trouvé ce document utile (0 vote)
436 vues4 pages

Exercices Variables PLSQL

Le document contient des exemples d'utilisation de variables en PL/SQL. Il montre comment déclarer et affecter des variables, ainsi que leur type. Il présente également l'utilisation de variables faisant référence aux colonnes d'une table.

Transféré par

SaadGb
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
436 vues4 pages

Exercices Variables PLSQL

Le document contient des exemples d'utilisation de variables en PL/SQL. Il montre comment déclarer et affecter des variables, ainsi que leur type. Il présente également l'utilisation de variables faisant référence aux colonnes d'une table.

Transféré par

SaadGb
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Exercices (Variables)

Exo #1 (a):

Pour la table Dept, créer des variables qui auront le même type et la même dimension que les colonnes de
Dept.

Leur affecter respectivement les valeurs : 60, ‘RHU’, ‘MONTRÉAL’ NB. :

On utilise sous SQL*Plus la commande : SET SERVEROUTPUT ON pour pouvoir afficher les résultats de la
commande Oracle (Package) :

DBMS_OUTPUT.PUT_LINE(chaîne)

Réponse (a)

DECLARE

v_deptno number(2) := 60;

v_dname varchar2(14) := ‘RHU’;

v_loc varchar2(13) := ‘MONTRÉAL’;

BEGIN

DBMS_OUTPUT.PUT_LINE(‘No dept : ‘||v_deptno);

DBMS_OUTPUT.PUT_LINE(‘Nom dept : ‘||v_dname);

DBMS_OUTPUT.PUT_LINE(‘Loc : ‘||v_loc);

END;

N.B. : Pour affecter les colonnes d’une ligne d’une table :

SELECT colonne INTO v_col FROM nom de table WHERE condition(s);

Exo #2 :

Déclarer les variables v_deptno, v_dname, v_loc correspondantes aux colonnes de Dept.

Affecter à ces variables le no, le nom et la localisation du département no 20.

Afficher les valeurs de ces variables.

Réponse :

DECLARE v_deptno number(2);

v_dname varchar2(14);

v_loc varchar2(13);

BEGIN

SELECT deptno, dname, loc INTO v_deptno, v_dname, v_loc FROM DEPT WHERE deptno=20;

DBMS_OUTPUT.PUT_LINE(‘No dept : ‘||v_deptno);


DBMS_OUTPUT.PUT_LINE(‘Nom dept : ‘||v_dname);

DBMS_OUTPUT.PUT_LINE(‘Loc : ‘||v_loc);

END;

Exo #3 :

Insérer les valeurs 60, ‘RHU’, ‘MONTRÉAL’ dans la table DEPT.

Réponse :

DECLARE

v_deptno number(2) := 60;

v_dname varchar2(14) := ‘RHU’;

v_loc varchar2(13) := ‘MONTRÉAL’;

BEGIN

INSERT INTO DEPT(‘deptno, dname, loc) VALUES (v_deptno, v_dname, v_loc);

END;

Exo #4 :

Utilisation de variables SQL*Plus.

– Créer des variables sous SQL*Plus dans lequel on affecte les valeurs 70, ‘Finance’, ‘Québec’

- Affecter ces variables à d,autres variables qu’on va créer dans un bloc PL/SQL.

- Afficher ces variables.

Réponse :

Sous SQL*Plus, on crée les variables suivantes :

ACCEPT p_dept 70
ACCEPT p_dname Finance
ACCEPT p_loc Québec

DECLARE
v_deptno number(2) := &p_deptno;
v_dname varchar2(14) :=&p_dname;
v_loc varchar2(13) := &p_loc;
BEGIN DBMS_OUTPUT.PUT_LINE(‘No dept : ‘|| v_deptno);
DBMS_OUTPUT.PUT_LINE(‘Nom dept : ‘|| v_dname);
DBMS_OUTPUT.PUT_LINE(‘Loc dept : ‘|| v_loc);
END;

c) Variables faisant référence au dictionnaire de données.

c1. Variables de même type qu’une colonne d’une table de BD :


Syntaxe : Nom_var [Link]%type;

Exemple : v_dname [Link]%type;

Exo #1 :
Refaire l’ex #1 de la partie précédente avec ‘%type’
Réponse :
DECLARE v_deptno [Link]%type := 60;
v_dname [Link]%type := ‘RHU’;
v_loc [Link]%type := ‘MONTRÉAL’;
BEGIN
DBMS_OUTPUT.PUT_LINE(‘No dept : ‘||v_deptno);
DBMS_OUTPUT.PUT_LINE(‘Nom dept : ‘||v_dname);
DBMS_OUTPUT.PUT_LINE(‘Loc : ‘||v_loc);
END;

Exo #2 :
- Affecter les valeurs des colonnes de la table DEPT dont le no Dept=30 aux variables v_deptno,
v_dname, v_loc.
- Afficher les valeurs de ces variables.
Réponse :

DECLARE
v_deptno [Link]%type;
v_dname [Link]%type;
v_loc [Link]%type;
BEGIN
SELECT * INTO v_deptno, v_dname, v_loc FROM DEPT WHERE deptno=30;
DBMS_OUTPUT.PUT_LINE(‘No dept : ‘||v_deptno);
DBMS_OUTPUT.PUT_LINE(‘Nom dept : ‘||v_dname);
DBMS_OUTPUT.PUT_LINE(‘Loc : ‘||v_loc);
END;

c2. Variables de même structure qu’une ligne d’une table de BD :

Syntaxe : v_ligne Table%ROWTYPE


exemple : v_employe EMP%ROWTYPE
N.B. : - La structure ligne contient autant de variables que de colonnes de la table.
- Ces variables portent le même nom et sont de même type que les colonnes de la table.
- Pour y accéder : v_ligne.nom_colonne
Exemple : v_ligne.ename, v_ligne_sal

Exo : Affecter la ligne de la table DEPT dont deptno=30 à la variable v_dept.


Afficher le contenu de la variable.

Réponse :

DECLARE
v_dept Dept%rowtype;
BEGIN SELECT * INTO v_dept FROM DEPT WHERE deptno=30;
DBMS_OUTPUT.PUT_LINE(‘No dept : ‘||v_dept.deptno);
DBMS_OUTPUT.PUT_LINE(‘Nom dept : ‘||v_dept.dname);
DBMS_OUTPUT.PUT_LINE(‘Loc : ‘||v_dept.loc);
END;

Vous aimerez peut-être aussi