Comment puis-je continuer à exporter ddl de toutes mes vues de schéma dans un fichier unique .sql?
[.____] J'ai lu il y a une fonction DBMS_METADATA.GET_DDL
Mais je ne peux pas comprendre comment l'utiliser pour mon cas.
Je sais comment faire cela pour une vue (Oracle Entreprise Manager-> MySchema-> Vues-> Sélection de mon point de vue-> Afficher l'objet DDL-> Enregistrer ..)
J'utilise SQL * Plus
Essayez ceci pour dbms_metadata.get_dll:
set long 200000 pages 0 lines 150
spool vw.sql
select
dbms_metadata.GET_DDL('VIEW',u.view_name,DECODE(u.owner,'SYS','',owner))
from
all_views u
where
owner IN ('HR','SCOTT')
order by owner,view_name ;
spool off
Vous pouvez également inclure les schémas qui vous intéressent ou excluent les schémas que vous ne voulez pas dans la clause "propriétaire de".
J'ai trouvé all_mviews
Voir utile. Avec name
et text
champs, je pourrais facilement générer une déclaration de création pour toutes les vues nécessaires sans informations inutiles. J'ai utilisé Java et JDBC pour écrire dans le fichier, mais je pense que vous pouvez également le faire avec une bobine à SQLPlus.
Vous pouvez SPOOL
la sortie dans un fichier:
SPOOL 'C:\Temp\all_views.sql';
SELECT dbms_metadata.get_ddl('VIEW', view_name) FROM user_views;
SPOOL OFF;