2011-09-28 93 views
19

時,當我在插入數據表(DB2),我得到這個錯誤:DB2 SQLCODE -668插入

Message: Operation not allowed for reason code "7" on 
table "ELSAG.ICGR1106".. SQLCODE=-668, SQLSTATE=57016, DRIVER=3.50.152,... 

,當我GOOGLE了它,我發現前面的ALTER TABLE語句試圖添加一個列添加到具有使用行屬性敏感性定義的編輯過程的表。沒有列可以添加到此表中。

有沒有辦法糾正它?

一旦我放棄並重新創建表格,我可以再次插入。

在此先感謝。

回答

7

根據此: SQL0668

你也做了一些改變,以表其需要REORG,然後才能進一步更新表。

對錶運行REORG實用程序,你應該沒問題。

+0

此外,根據DB2 LUW它可能是一個 「設置完整性」 之後的 「ALTER TABLE」 或 「LOAD」 發生是必需的。 – Turophile

37

要添加到詹姆斯的答案,救人時間四處尋找,你可以通過任何可用的SQL客戶端執行

CALL SYSPROC.ADMIN_CMD('REORG TABLE MY_TABLE_NAME') 

(即甚至在ODBC或JDBC連接)來糾正這個問題。但是,連接必須處於自動提交模式,您必須擁有管理員權限才能執行此命令。

我強烈建議在調用之前閱讀REORG上的文檔。

+0

這工作正常! – Shalika

3

CALL SYSPROC.ADMIN_CMD( 'REORG TABLE TABLE_NAME')解決了這個問題

相關問題