Problème avec un curseur : ORA-00942
Bonsoir,
Je débute en PL/SQL et souhaite l'utiliser dans l'administration. Le code ci-dessous me renvoie une erreur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| DECLARE
V_OWNER all_objects.owner%TYPE := 'SCOTT' ;
V_NAME_TABLE all_objects.object_name%TYPE ;
V_COUNTER number(1) ;
CURSOR CUR_NAME_TABLE IS
SELECT object_name
FROM all_objects
WHERE owner = V_OWNER
AND object_type = 'TABLE' ;
BEGIN
OPEN CUR_NAME_TABLE ;
LOOP
FETCH CUR_NAME_TABLE INTO V_NAME_TABLE ;
/* Ligne concernée par l'erreur */
SELECT count(*) INTO V_COUNTER
FROM SCOTT.V_NAME_TABLE ;
dbms_output.put_line(V_NAME_TABLE) ;
EXIT when CUR_NAME_TABLE%NOTFOUND ;
END LOOP ;
CLOSE CUR_NAME_TABLE ;
END ;
/ |
Voici l'erreur :
Citation:
FROM V_NAME_TABLE ;
*
ERROR at line 7:
ORA-06550: line 7, column 10:
PL/SQL: ORA-00942: table or view does not exist
ORA-06550: line 5, column 3:
PL/SQL: SQL Statement ignored
Il semblerait que l'utilisation d'une variable comme nom de table ne soit pas autorisée.
Merci pour votre aide par avance.