oracle导出metadata,获得ORACLE DDL 通过DBMS_METADATA

set pagesize 0

set long 90000

set feedback off

set echo off

--数据库登录

conn test/test@orcl--导出文件名称spool oracleObj.sql--输出信息采用缩排或换行格式化EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'PRETTY', TRUE);--确保每个语句都带分号EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'SQLTERMINATOR', TRUE);--关闭表索引、外键等关联(后面单独生成)EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'CONSTRAINTS', FALSE);EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'REF_CONSTRAINTS', FALSE);EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'CONSTRAINTS_AS_ALTER', FALSE);--关闭存储、表空间属性EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'STORAGE', FALSE);EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'TABLESPACE', FALSE);--关闭创建表的PCTFREE、NOCOMPRESS等属性EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'SEGMENT_ATTRIBUTES', FALSE);--创建用户对象SELECT DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, u.object_name)FROM USER_OBJECTS uwhere U.OBJECT_TYPE IN ('TABLE','VIEW','SYNONYM','SEQUENCE');SELECT DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, u.object_name)FROM USER_OBJECTS uwhere U.OBJECT_TYPE IN ('INDEX','TRIGGER');SELECT DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, u.object_name)FROM USER_OBJECTS uwhere U.OBJECT_TYPE IN ('FUNCTION');SELECT DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, u.object_name)FROM USER_OBJECTS uwhere U.OBJECT_TYPE IN ('PROCEDURE');--获取表注释SELECT DBMS_LOB.substr(DBMS_METADATA.get_dependent_ddl ('COMMENT', table_name))FROM (SELECT distinct table_nameFROM user_col_commentsWHERE comments IS NOT NULL);spool off;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值