首页 文章

用于导出架构中所有表的DDL的查询

提问于
浏览
1

我的架构中有超过250个表,我想将它们导出为DDL(创建表...)并将它们发送到一个脚本中 . 有用的我使用了PLSQL Developer的导出工具 .

但我面临的错误,如sql导出不能采取clob或长原始或长或blob所以我必须手动删除约50个表 .

有没有查询?因为PLSQL Developer中的另一种方式非常慢 .

2 回答

  • 0

    也许这个:

    select dbms_metadata.get_ddl('TABLE', table_name)
    from user_tables
    

    如果要执行以下操作,可以排除表:

    select dbms_metadata.get_ddl('TABLE', table_name)
    from user_tables
    where table_name not in ('FOO', 'BAR');
    
  • 6

    当您只指定模式而没有数据时,可以使用古老的IMP / EXP工具执行此操作 .

    例如来自Tom Kyte的解决方案here

    exp userid=/ owner=some_schema
    imp userid=/ indexfile=foo.sql
    

    然后摆脱这些线

    REM  ...
    CONNECT
    

    然后删除所有其他 REM .

相关问题