定制导出oracle语句
来源:互联网 发布:手机晒密软件 编辑:程序博客网 时间:2024/04/25 17:16
今天想导出oracle的建表语句但是不需要乱七八糟的表空间附加存储选项,网上查询资料找到一种方法
登陆plsqldev命令行下输入
set serveroutput on
set linesize 999999
set feedback off
spool d:/c_sql.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 u
where U.OBJECT_TYPE IN ('TYPE','TABLE','VIEW','SEQUENCE','INDEX','PROCEDURE','FUNCTION','TRIGGER','PACKAGE BODY');
spool off
还有获取注释的语句
SELECT DBMS_LOB.substr(DBMS_METADATA.get_dependent_ddl ('COMMENT', table_name))
FROM (SELECT distinct table_name
FROM user_col_comments
WHERE comments IS NOT NULL);
另外导出注释ddl
-- 表
SELECT 'COMMENT ON TABLE ' ||TT.OWNER || '.' || TT.TABLE_NAME || ' IS ''' || TT.COMMENTS ||''';'
FROM ALL_TAB_COMMENTS TT WHERE TT.OWNER='USERNAME' AND TT.COMMENTS IS NOT NULL;
-- 字段
SELECT 'COMMENT ON COLUMN ' || T.TABLE_NAME || '.' || T.COLUMN_NAME || ' IS ''' || T.COMMENTS ||''';'
FROM ALL_COL_COMMENTS T WHERE T.OWNER='USERNAME';
当然官方文档依然是很好的参考
http://docs.oracle.com/cd/E11882_01/server.112/e22490/metadata_api.htm
http://docs.oracle.com/cd/E11882_01/server.112/e22490/metadata_api.htm#SUTIL1623
- 定制导出oracle语句
- oracle数据导出语句
- oracle导入导出语句
- oracle导出导入语句
- oracle导入导出语句
- oracle中的导出数据库语句
- Oracle 数据库导出数据库语句
- oracle备份语句导入导出
- oracle 数据库导入导出语句
- oracle语句导出表结构
- oracle数据库的导入导出语句
- oracle导出表insert语句存储过程
- Oracle导出sql语句存储过程
- Oracle导入导出的sql语句
- Oracle 导入和导出语句操作
- Oracle导出数据与导入数据语句
- oracle中 导出job定义语句
- Oracle导出数据字典SQL语句
- Java printf : 格式化输出的功能
- MAT(Memory Analyzer Tool)工具入门介绍
- 中文字符返回的时出现乱码
- (standard c libraries translation)alloca
- magento 使用flat 表
- 定制导出oracle语句
- 静态检查------SourceMonitor的学习和使用
- 平安夜 送自己一个小博客
- Ubuntu配置jre环境
- 获取内核磁盘设备卷标名 QueryDosDevice()
- cmake 从入门到精通(一)
- USACO注意的小细节
- CUDA程序优化小记(二)
- Android多媒体分析(一)MediaScanner