我想截断DB2中特定模式下的所有表,这些表在Linux服务器上运行。但是我无权使用ALTER TABLE来禁用外键约束。
有没有这样做?
我正在考虑根据表之间的约束执行拓扑排序,但它有点复杂。
对这个问题有什么好主意吗?
答案 0 :(得分:0)
你没有说你正在使用什么平台。这个答案特定于Linux,UNIX和Windows上的DB2。
如果您对表有LOAD,INSERT和DELETE权限,则无论是否存在外键约束,您都可以使用带有空文件的LOAD命令来截断表:
LOAD from /dev/null of del replace into yourschema.yourtable nonrecoverable
这会将所有相关表置于检查挂起状态...一旦截断了所有表,就会使用SET INTEGRITY
语句将所有表从检查挂起中取出。