对于数据库重新架构,我需要获取每个表的DDL并在数据库(Oracle)中查看。我不想去每个表/视图的属性,并在SQL Developer中从中获取SQL。
我使用 -
成功获得了桌子的DDLselect dbms_metadata.get_ddl('TABLE','Table_name','Schema_Name')
from dual;
但面对VIEW和MVIEW的问题。任何人都可以为表格以外的元素提供命令/关键字。
另外,我想将结果导出到excel文件中,第一列为TableName
,第二列为DDL。
答案 0 :(得分:19)
请尝试以下查询:
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>);
答案 1 :(得分:0)
对于物化视图,请使用:
select dbms_metadata.get_ddl('MATERIALIZED_VIEW','MView_name','Schema_Name')
from dual;
在此处查看所有受支持的对象类型:DBMS_METADATA: Object Types