Oracle

導出所有視圖 Oracle 的 DDL

  • April 4, 2016

如何在單個 .sql 文件中導出所有模式視圖的 DDL?

我讀過有一個功能DBMS_METADATA.GET_DDL 但我不知道如何在我的情況下使用它。

我知道如何為一個視圖執行此操作(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

您可以在“owner IN”子句中包含您感興趣的模式或排除您不想要的模式。

你可以SPOOL輸出到一個文件中:

SPOOL 'C:\Temp\all_views.sql';
SELECT dbms_metadata.get_ddl('VIEW', view_name) FROM user_views;
SPOOL OFF;

引用自:https://dba.stackexchange.com/questions/76826