• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

获取数据库或SHEME的DDL语句

mysql 搞代码 4年前 (2022-01-09) 32次浏览 已收录 0个评论

获取数据库或SHEME的DDL语句 1. 获取单个的建表、视图和建索引的语法 1 set pagesize 0 2 set long 90000 3 set feedback off 4 set echo off 5 spool DEPT.sql 6 –以下参数可以根据实际情况打开或关闭 7 –输出信息采用缩排或换行格式化 8 exec dbms_metad

获取数据库或SHEME的DDL语句

1. 获取单个的建表、视图和建索引的语法

1 set pagesize 0

2 set long 90000

3 set feedback off

4 set echo off

5 spool DEPT.sql

6 –以下参数可以根据实际情况打开或关闭

7 –输出信息采用缩排或换行格式化

8 exec dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'pretty', true);

9 –确保每个语句都带分号

10 exec dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'sqlterminator', true);

11 –关闭表索引、外键等关联(后面单独生成)

12 exec dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'constraints', false);

13 exec dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'ref_constraints', false);

14 exec dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'constraints_as_alter', false);

15 –关闭存储、表空间属性

16 exec dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'storage', false);

17 exec dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'tablespace', false);

18 –关闭创建表的PCTFREE、NOCOMPRESS等属性

19 exec dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'segment_attributes', false);

20

21 –表

22 SELECT DBMS_METADATA.GET_DDL('TABLE','TAB_NAME','HR') FROM DUAL; –表名(TAB_NAME) SECHEMA(HR)

23 –视图

24 SELECT DBMS_METADATA.GET_DDL('VIEW','VIEW_NAME','HR') FROM DUAL;

25 –索引

26 SELECT DBMS_METADATA.GET_DDL('INDEX','IDX_NAME','HR') FROM DUAL;

27 spool off;

2. 获取一个SCHEMA下的所有建表、视图和建索引的语法,以HR为例:

1 2. 获取一个SCHEMA下的所有建表、视图和建索引的语法,以HR为例:

2 set pagesize 0

3 set long 90000

4 set feedback off

5 set echo off

6 spool schema.sql

7 connect HR/HR12345; –当前所连接用户

8

9 –输出信息采用缩排或换行格式化

10 exec dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'pretty', true);

11 –确保每个语句都带分号

12 exec dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'sqlterminator', true);

13 –关闭表索引、外键等关联(后面单独生成)

14 exec dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'constraints', false);

15 exec dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'ref_constraints', false);

16 exec dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'constraints_as_alter', false);

17 –关闭存储、表空间属性

18 exec dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'storage', false);

19 exec dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'tablespace', false);

20 –关闭创建表的PCTFREE、NOCOMPRESS等属性

21 exec dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'segment_attributes', false);

22

23 –表

24 SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u;–获取当前用户的DDL语句

25 –视图

26 SELECT DBMS_METADATA.GET_DDL('VIEW',u.VIEW_name) FROM USER_VIEWS u;

27 –索引

28 SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) FROM USER_INDEXES u;

29 spool off;

3. 获取HR下的全部存储过程的语法

1 set pagesize 0

2 set long 90000

3 set feedback off

4 set echo off

5 spool procedures.sql

6 connect HR/HR12345;

7

8

9 select DBMS_METADATA.GET_DDL('PROCEDURE',u.object_name)

10 from user_objects u

11 where object_type = 'PROCEDURE';

12 spool off;

4. 获取HR下的全部函数的语法

1 set pagesize 0

2 set long 90000

3 set feedback off

4 set echo off

5 spool function.sql

6 connect HR/HR12345;

7 select DBMS_METADATA.GET_DDL('FUNCTION',u.object_name)

8 from user_objects u

9 where object_type = 'FUNCTION';

10 spool off;

5.得到所有表空间的ddl语句

1 set pagesize 0

2 set long 90000

3 set feedback off

4 set echo off

5 spool tablespace.sql

6

7 SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name)

8 FROM DBA_TABLESPACES TS;

9

10 spool off;

6.得到所有创建用户的ddl

1 set pagesize 0

2 set long 90000

3 set feedback off

4 set echo off

5 spool user.sql

6

7 SELECT DB本文来源gao@!dai!ma.com搞$$代^@码网*MS_METADATA.GET_DDL('USER',U.username)

8 FROM DBA_USERS U;

9

10 spool off;

通过以上sql的组合,可以获取到一个数据库或SCHEMA的逻辑结构


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:获取数据库或SHEME的DDL语句

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址