我的架构中有超过250个表,我想将它们导出为DDL(创建表...)并将它们发送到一个脚本中。实际上,我使用了PLSQL Developer的导出工具。
但我面临的错误就像sql导出无法接受clob或long raw或long或blob所以我必须手动删除大约50个表。
是否有查询?因为PLSQL Developer中的另一种方式非常慢。
答案 0 :(得分:6)
也许这个:
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');
答案 1 :(得分:0)
当您只指定架构而没有数据时,您可以使用古老的IMP / EXP工具执行此操作。
e.g。来自Tom Kyte的解决方案here:
exp userid=/ owner=some_schema
imp userid=/ indexfile=foo.sql
然后摆脱这些线
REM ...
CONNECT
然后删除所有其他REM
。