插入时db2 SQLCODE -668

use*_*159 22 sql db2

当我将数据插入表(db2)时,我收到此错误:

Message: Operation not allowed for reason code "7" on 
table "ELSAG.ICGR1106".. SQLCODE=-668, SQLSTATE=57016, DRIVER=3.50.152,...
Run Code Online (Sandbox Code Playgroud)

当我用Google搜索它时,我发现之前的ALTER TABLE语句试图将列添加到具有使用行属性敏感性定义的编辑过程的表中.没有列可以添加到此表.

有没有办法纠正它?

一旦我放下并重新创建表格,我可以再次插入.

提前致谢.

Ale*_*kka 43

为了增加詹姆斯的答案并节省人们环顾四周的时间,你可以执行

CALL SYSPROC.ADMIN_CMD('REORG TABLE MY_TABLE_NAME')
Run Code Online (Sandbox Code Playgroud)

通过任何可用的SQL客户端(即使通过ODBC或JDBC连接)来纠正这个问题.但是,连接必须处于自动提交模式,并且您必须具有管理员权限才能执行此命令.

我强烈建议在调用之前阅读REORG上的文档.


Jam*_*son 7

根据这个: SQL0668

您已经对表进行了一些更改,需要REORG才能进一步更新表.

针对表运行REORG实用程序,您应该没问题.


小智 6

CALL SYSPROC.ADMIN_CMD('REORG TABLE TABLE_NAME') 解决问题