Demande aide pour oracle

Résolu
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 - 30 déc. 2005 à 11:10
Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 - 4 janv. 2006 à 17:41
Bonjour à tous,
J'ai un problème que je n'arrive pas à résoudre donc je voudrais savoir si quelqu'un peut m'aider. En fait, ce que je voudrais faire c'est:
écrire une procedure qui affiche le SQL de creation d'une vue passée en paramètre. J'ai écris un script mais qui marche uniquement pour une vue contenant une seule ligne. Je voudrais généraliser ceci pour une vue qui contient plusieurs lignes. Je sais qu'il faut utiliser les curseurs mais je maîtrise par un brin. Est ce que quelqu'un pourrait m'aider, s'il vous plaît. Je met mon script pour une vue contenant une ligne.

create or replace PROCEDURE SHOW_VIEW_V1(VUE varchar2)IS
texte_select varchar2(100);
nom_vue varchar2(100);
tmp varchar2(100);
BEGIN
SELECT text INTO texte_select
from user_views where view_name='V1';
SELECT view_name into nom_vue FROM user_views where view_name='V1';

dbms_output.put_line ('CREATE VIEW '||nom_vue || ' AS '||texte_select);
END;

Jarod_Delaware

1 réponse

Jarod1980 Messages postés 273 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 31 mars 2015 2
4 janv. 2006 à 17:41
J'ai tout compte fait trouvé comment faire. Je met ce que j'ai fais, ça pourra peut aider quelqu'un un jour:


create or replace PROCEDURE SHOW_ALL_VIEW(VIEWALL varchar2)IS




CURSOR C1 IS SELECT text


from user_views


where view_name=VIEWALL;




TMP VARCHAR2(1024);




BEGIN


OPEN C1;


LOOP


FETCH C1 INTO TMP;


EXIT WHEN C1%NOTFOUND;


dbms_output.put_line ('CREATE VIEW '||VIEWALL || ' AS '||TMP);


END LOOP;


CLOSE C1;


END;

Jarod_Delaware
3
Rejoignez-nous