最近不断有同事在现网操作时问我同样的问题,那就是怎么样得到建表(存储过程,函数等)的DDL脚本,下面总结两种方法给大家,供大家学习!
第一个方法:查询user_source数据字典可获得.
SQL> desc user_source
Name Type Nullable Default Comments
---- -------------- -------- ------- -------------------------------------------------------------------------------------------------------------
NAME VARCHAR2(30) Y Name of the object
TYPE VARCHAR2(12) Y Type of the object: "TYPE", "TYPE BODY", "PROCEDURE", "FUNCTION",
"PACKAGE", "PACKAGE BODY" or "JAVA SOURCE"
LINE NUMBER Y Line number of this line of source
TEXT VARCHAR2(4000) Y Source text
不过user_source只能查询FUNCTION,PACKAGE,PACKAGE BODY,PROCEDURE,TRIGGER的源,而不能查看table等对象的ddl.
第二个方法:调用dbms_metadata.get_ddl(object_type,name),即
select dbms_metadata.get_ddl(object_type,name) from dual;
要注意的是,需设置一下环境变量,如下:
set linesize 10000
set pagesize 0
set long 100000
set feedback off
等等.
[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/38542/viewspace-905282/ ,如需转载,请注明出处,否则将追究法律责任。