すべてのスキーマビューのDDLを単一の.sqlファイルにエクスポートするにはどうすればよいですか?
関数があると読みましたDBMS_METADATA.GET_DDL
しかし、私の場合にそれを使用する方法がわかりません。
これを1つのビューに対して行う方法を知っています(Oracle Entreprise Manager-> MySchema-> Views-> Selecting my view-> show object DDL-> Save ..)
SQL * Plusを使用しています
これを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
関心のあるスキーマを含めるか、または「所有者IN」句で不要なスキーマを除外できます。
all_mviews
ビューが役に立ったと思います。 name
およびtext
フィールドを使用すると、不要な情報なしで、必要なすべてのビューのcreateステートメントを簡単に生成できます。私はJavaとJDBCを使用してファイルに書き込みましたが、sqlplusのスプールでそれを行うこともできると思います。
出力をファイルにSPOOL
することができます:
SPOOL 'C:\Temp\all_views.sql';
SELECT dbms_metadata.get_ddl('VIEW', view_name) FROM user_views;
SPOOL OFF;