Exercices Variables PLSQL
Exercices Variables PLSQL
Exercices Variables PLSQL
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.
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
BEGIN
DBMS_OUTPUT.PUT_LINE(‘Loc : ‘||v_loc);
END;
Exo #2 :
Déclarer les variables v_deptno, v_dname, v_loc correspondantes aux colonnes de Dept.
Réponse :
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(‘Loc : ‘||v_loc);
END;
Exo #3 :
Réponse :
DECLARE
BEGIN
END;
Exo #4 :
– 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.
Réponse :
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;
Exo #1 :
Refaire l’ex #1 de la partie précédente avec ‘%type’
Réponse :
DECLARE v_deptno Dept.deptno%type := 60;
v_dname Dept.dname%type := ‘RHU’;
v_loc Dept.loc%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 Dept.deptno%type;
v_dname Dept.dname%type;
v_loc Dept.loc%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;
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;