Procédure prenant en entrée le nom d'une table
Bonjour à tous,
J'essaye de réaliser une fonction qui permettrait, pour le nom d'une table donnée en entrer, fournir l'ensemble du contenu de la table.
Pour le moment j'ai le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| DECLARE
tabl VARCHAR(20) := 'table1'; --------> Il n'aime pas ceci,
CURSOR contenu IS SELECT * FROM tabl; -------> Par contre quand je met table1 après le FROM, tout fonctionne
tuple contenu%ROWTYPE;
BEGIN
OPEN contenu;
FETCH contenu INTO tuple;
WHILE contenu%FOUND LOOP
DBMS_OUTPUT.PUT_LINE(tuple.nom);
FETCH contenu INTO tuple;
END LOOP;
CLOSE contenu;
END; |
Mon but est donc de créer une procédure de la forme :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| CREATE OR REPLACE PROCEDURE CONTEN (tabl VARCHAR) IS
CURSOR contenu IS SELECT * FROM tabl;
tuple contenu%ROWTYPE;
BEGIN
OPEN contenu;
FETCH contenu INTO tuple;
WHILE contenu%FOUND LOOP
DBMS_OUTPUT.PUT_LINE(tuple.nom);
FETCH contenu INTO tuple;
END LOOP;
CLOSE contenu;
END; |
J'ai essayé cela mais ça ne fonctionne pas. Pourriez vous m'indiquer comment avancer?
Merci à vous.