日期:2014-05-17  浏览次数:20765 次

oracle 如何导出 数据库的创建语句
能否把一个数据库 的 创建表,视图,触发器== 对象的创建语句生成为脚本文件

------解决方案--------------------
获得数据库对象的创建语句(以数据表为例):
sql>set long 100000;
sql>set serveroutput on;
sql>select dbms_metadata.get_ddl('TABLE',TABLE_NAME,USER_NAME) from dual;

说明:dbms_metadata.get_ddl()函数传入三个参数:第一个参数表示对象类型(表,视力..);第二个参数系表的名称;第三个参数为数据表属于哪个用户之下。
------解决方案--------------------
探讨
能否把一个数据库 的 创建表,视图,触发器== 对象的创建语句生成为脚本文件

------解决方案--------------------
写个存储过程,
遍历user_tables, user_triggers, user_views视图;
分别取出table_name, trigger_name, view_name;
然后分别调用
dbms_metadata.get_ddl('TABLE',<table_name>)
dbms_metadata.get_ddl('TRIGGER',<trigger_name>)
dbms_metadata.get_ddl('VIEW',<view_name)