DB2中對錶的修復問題

2021-09-02 06:20:39 字數 476 閱讀 2936

本人對db2接觸時間不長,所以好多問題都需要大神的幫忙才可以得以解決,最近又碰到一種問題:就是在db2中,頻繁的(也就是兩三次吧)對錶修改字段長度,刪除欄位等,在進行查詢表時,就報以下錯誤:

-668 56018 不能向用editproc定義的表中新增列

在網上也找過好多sql語句說可以修復表結構的,可是怎麼執行都不會成功(也許是我真的沒找對啊)之前,本人的解決方法都是對確定的表字段後,先備份表資料,在進行刪除該錶,進行重建表,資料少或是空表還好,資料多的話,可想而知.. :cry: ,

有幸在大神的幫助下得以解決:執行一下sql語句就ok!!!!

call sysproc.admin_cmd('reorg table caseorigin1');

其中:caseorigin1 是修復的表名,

該sql語句的意思是對有損壞的表進行修復重構表結構

因此,發這篇文章希望解決和我有類似問題的人有所幫助,若是有其他方法,希望分享一下!

DB2中db2命令引數說明

db2中db2命令引數說明 a 顯示 sqlca off c 自動落實 on d 檢索並顯示 xml 宣告 off e 顯示 sqlcode sqlstate off f 讀取輸入檔案 off i 顯示 xml 資料並帶有縮排 off l 將命令記錄到歷史記錄檔案中 off m 顯示受影響的行數 o...

DB2中57011問題之一

昨天寫了乙個很廢的 create procedure batch cargo language sql begin declare in date date declare his date date declare p tj date varchar 8 declare p his date va...

DB2鎖表問題

主要分兩步驟 獲取事物id及正在對該錶進行操作的sql 終止該事物。一 獲取事物id和sql 方法一 已知表名 獲取事物id db2 select distinct agent id from sysibmadm.snaplock where tabnme tabname with ur 檢視正在鎖...