2

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

有没有办法做到这一点?

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

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

4

1 回答 1

1

你不说你在哪个平台上。此答案特定于 Linux、UNIX 和 Windows 上的 DB2。

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

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

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

于 2012-10-11T17:57:49.303 回答