一尘不染

使用查询获取VIEW DDL

sql

对于数据库重新架构,我需要获取每个表的DDL并在数据库(Oracle)中进行查看。我不想转到每个表/视图的属性并在SQLDeveloper中从中获取SQL。

我成功使用以下方法获得了表的DDL:

select dbms_metadata.get_ddl('TABLE','Table_name','Schema_Name') 
  from dual;

但是面对VIEW和MVIEW的问题。任何人都可以为表格以外的元素提供命令/关键字。

另外,我想将结果导出到excel文件中,第一TableName列为DDL,第二列为DDL。


阅读 261

收藏
2021-03-17

共1个答案

一尘不染

请尝试以下查询以查看:

select text from ALL_VIEWS where upper(view_name) like upper(<view_name>);

对于mviews:

select query from ALL_MVIEWS where upper(mview_name) like upper(<mview_name>);
2021-03-17