在DB2中的Schema下截断所有表

时间:2012-10-11 02:35:56

标签: sql database db2

我想截断DB2中特定模式下的所有表,这些表在Linux服务器上运行。但是我无权使用ALTER TABLE来禁用外键约束。

有没有这样做?

我正在考虑根据表之间的约束执行拓扑排序,但它有点复杂。

对这个问题有什么好主意吗?

1 个答案:

答案 0 :(得分:0)

你没有说你正在使用什么平台。这个答案特定于Linux,UNIX和Windows上的DB2。

如果您对表有LOAD,INSERT和DELETE权限,则无论是否存在外键约束,您都可以使用带有空文件的LOAD命令来截断表:

LOAD from /dev/null of del replace into yourschema.yourtable nonrecoverable

这会将所有相关表置于检查挂起状态...一旦截断了所有表,就会使用SET INTEGRITY语句将所有表从检查挂起中取出。