使用查询获取VIEW ddl



对于数据库重新架构,我需要在数据库(Oracle)中获得每个表和视图的DDL。我不想去到每个表/视图的属性,并在SQL Developer中获取SQL。

我使用-

成功获取了表的DDL
select dbms_metadata.get_ddl('TABLE','Table_name','Schema_Name') 
  from dual;

但是面对VIEW和MVIEW的问题。谁能提供除table以外的元素的命令/关键字?

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

试试下面的查询:

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>);

对于物化视图使用:

select dbms_metadata.get_ddl('MATERIALIZED_VIEW','MView_name','Schema_Name') 
  from dual;
DBMS_METADATA: object types

最新更新