Bonjour,

Lorsque j'execute le script suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
   DECLARE
        v_emp   scott.emp%rowtype;
    BEGIN
        SELECT ename, job
          INTO v_emp.ename, v_emp.job
          FROM scott.emp
         WHERE empno = 7839;
         dbms_output.put_line('Name = '||v_emp.ename || '   Job = ' || v_emp.job);
    END;
j'obtiens le résultat suivant :
    DBMS_OUTPUT:
    ------------
     Name = KING   Job = PRESIDENT
mais apres je n'arrive pas à mettre ce code dans une procedure, par exemple:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
CREATE OR REPLACE PROCEDURE TESTROWTYPE is
 
        v_emp   scott.emp%rowtype;
    BEGIN
        SELECT ename, job
          INTO v_emp.ename, v_emp.job
          FROM scott.emp
         WHERE empno = 7839;
         dbms_output.put_line('Name = '||v_emp.ename || '   Job = ' || v_emp.job);
    END;
J'obtiens les message suivants:
5 17 PLS-00201: l'identificateur 'SCOTT.EMP' doit être déclaré
5 17 PL/SQL: Item ignored
9 22 PL/SQL: ORA-00942: Table ou vue inexistante
7 9 PL/SQL: SQL Statement ignored
11 42 PLS-00320: déclaration de type de cette expression est incomplète ou mal structurée
11 10 PL/SQL: Statement ignored
Merci de vôtre aide :-)