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

解决方案 »

  1.   

    使用PLSQL,导出用户对象! 这个导出 的 不是完整的 可直接 执行的SQL 语句
      

  2.   

    获得数据库对象的创建语句(以数据表为例):
    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()函数传入三个参数:第一个参数表示对象类型(表,视力..);第二个参数系表的名称;第三个参数为数据表属于哪个用户之下。
      

  3.   

    好像plsql导出对象只能导出表的信息啊
      

  4.   

    可以哦。用dbms_metadata.get_ddl这个过程包
    比如,你要导出hr模式下的t表:spool hw_2x_vc.sql
    select dbms_metadata.get_ddl('TABLE','T','HR') from dual;
    spool off这样就可以在hw_2x_vc.sql里面找到你的脚本了。视图和触发器也是一个道理的。
      

  5.   

    写个存储过程,
    遍历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)