DB2中使用游標(biāo)需要注意的事項
在DB2數(shù)據(jù)庫中使用游標(biāo)時,commit的使用要慎之又慎,本文為您介紹了在DB2中使用游標(biāo)的一些注意事項,供您參考,希望對您有所幫助。
在DB2中使用游標(biāo)的時候必須謹(jǐn)慎使用commit,可能是因為commit了以后這個會話就關(guān)閉了的原因造成db2報游標(biāo)未打開的錯誤,這樣需要注意的是在使用游標(biāo)的時候里面不可以包括commit之類的命令,這樣會造成游標(biāo)的錯誤.
在使用while循環(huán)游標(biāo)的時候我們必須聲明一個異常,這樣才可以判斷游標(biāo)是否到達(dá)末點,就是游標(biāo)在此后將找不到新的量,這里我們必須處理,要不游標(biāo)將一直給***的一條信息來循環(huán).
需要這樣聲明:
declare continue handler for not found
begin
set v_notfound=1;
end;
在游標(biāo)打開的時候給v_notfound=0,然后再去循環(huán),這樣只要游標(biāo)沒有找到值他將會給v_notfound賦1,這樣就可以控制循環(huán),并且達(dá)到我們想要的目的.
DB2還需要注意的是給一個類型變?yōu)閏har的時候,系統(tǒng)會給他補(bǔ)空格,這是我們應(yīng)該給他trim掉.
游標(biāo)調(diào)用存儲過程,如果調(diào)用的存儲過程有問題,系統(tǒng)也是會報游標(biāo)未打開的錯誤.