Db2 不允许更新 table,抛出一个错误,指出操作未完成
Db2 doesn't allow to update table, throws an error saying that operation is incomplete
我在尝试更新 table 时遇到错误。 SQL 语句是:
UPDATE dda_accounts SET TYPE_SK = TYPE_SK - 10 WHERE TYPE_SK > 9;
我得到的错误是:
SQL Error [57007]: Operation not allowed for reason code "7" on table
"BANK_0002_TEST.DDA_ACCOUNTS".. SQLCODE=-668, SQLSTATE=57007, DRIVER=4.27.25
SQLSTATE 57007
表示在执行 ALTER TABLE 后有些东西不完整。
我找到了 this resolution,但不清楚它是否可以修复,或者恢复 table 的唯一方法是使用备份。
运行 select 语句有效,只有更新失败。解决这个问题的方法是什么 table?
您需要 REORG
table 才能恢复,请参阅此 page 了解详情。
当您遇到此类错误时,请查找原因代码为“7”的 SQL066N 代码。
这表明:
The table is in the reorg pending state. This can occur after an ALTER
TABLE tatement containing a REORG-recommended operation.
请注意,之前的变更 table(将 table 置于需要重组的状态)可能发生在很久以前,而且您可能不知情。
如果您没有执行 reorg table inplace "BANK_0002_TEST.DDA_ACCOUNTS"
的授权,请联系您的 DBA 寻求帮助。 DBA 也可以选择 reorg indexes at the same time, and to perform runstats
(docs) 在重组完成后 table,并检查是否还有其他需要重新绑定。
我在尝试更新 table 时遇到错误。 SQL 语句是:
UPDATE dda_accounts SET TYPE_SK = TYPE_SK - 10 WHERE TYPE_SK > 9;
我得到的错误是:
SQL Error [57007]: Operation not allowed for reason code "7" on table
"BANK_0002_TEST.DDA_ACCOUNTS".. SQLCODE=-668, SQLSTATE=57007, DRIVER=4.27.25
SQLSTATE 57007
表示在执行 ALTER TABLE 后有些东西不完整。
我找到了 this resolution,但不清楚它是否可以修复,或者恢复 table 的唯一方法是使用备份。
运行 select 语句有效,只有更新失败。解决这个问题的方法是什么 table?
您需要 REORG
table 才能恢复,请参阅此 page 了解详情。
当您遇到此类错误时,请查找原因代码为“7”的 SQL066N 代码。
这表明:
The table is in the reorg pending state. This can occur after an ALTER TABLE tatement containing a REORG-recommended operation.
请注意,之前的变更 table(将 table 置于需要重组的状态)可能发生在很久以前,而且您可能不知情。
如果您没有执行 reorg table inplace "BANK_0002_TEST.DDA_ACCOUNTS"
的授权,请联系您的 DBA 寻求帮助。 DBA 也可以选择 reorg indexes at the same time, and to perform runstats
(docs) 在重组完成后 table,并检查是否还有其他需要重新绑定。