DB2編程序技巧 (五)
更新時間:2007年03月06日 00:00:00 作者:
正在看的db2教程是:DB2編程序技巧 (五)。1.16 存儲過程fence及unfence
fence的存儲過程單獨啟用一個新的地址空間,而unfence的存儲過程和調用它的進程使用同一個地址空間。
一般而言,fence的存儲過程比較安全。
但有時一些特殊的要求,如要取調用者的pid,則fence的存儲過程會取不到,而只有unfence的能取到。
1.17 SP錯誤處理用法
如果在SP中調用其它的有返回值的,包括結果集、臨時表和輸出參數類型的SP,
DB2會自動發(fā)出一個SQLWarning。而在我們原來的處理中對于SQLWarning都
會插入到日志,這樣子最后會出現多條SQLCODE=0的警告信息。
處理辦法:
定義一個標志變量,比如DECLARE V_STATUS INTEGER DEFAULT 0,
在CALL SPNAME之后, SET V_STATUS = 1,
DECLARE CONTINUE HANDLER FOR SQLWARNING
BEGIN
IF V_STATUS <> 1 THEN
--警告處理,插入日志
SET V_STATUS = 0;
END IF;
END;
1.18 import用法
db2 import from gh1.out of DEL messages err.txt insert into db2inst1.tb_dbf_match_ha
注意要加schma
1.19 values的使用
如果有多個 set 語句給變量付值,最好使用values語句,改寫為一句。這樣可以提高效率。
但要注意,values不能將null值付給一個變量。
values(null) into out_return_code;
這個語句會報錯的。
1.20 給select 語句指定隔離級別
select * from tb_head_stock_balance with ur
1.21 atomic及not atomic區(qū)別
atomic是將該部分程序塊指定為一個整體,其中任何一個語句失敗,則整個程序塊都相當于沒做,包括包含在atomic塊內的已經執(zhí)行成功的語句也相當于沒做,有點類似于transaction。
2 DB2編程性能注意
2.1 大數據的導表
應該是export后再load性能更好,因為load不寫日志。
比select into 要好。
<
fence的存儲過程單獨啟用一個新的地址空間,而unfence的存儲過程和調用它的進程使用同一個地址空間。
一般而言,fence的存儲過程比較安全。
但有時一些特殊的要求,如要取調用者的pid,則fence的存儲過程會取不到,而只有unfence的能取到。
1.17 SP錯誤處理用法
如果在SP中調用其它的有返回值的,包括結果集、臨時表和輸出參數類型的SP,
DB2會自動發(fā)出一個SQLWarning。而在我們原來的處理中對于SQLWarning都
會插入到日志,這樣子最后會出現多條SQLCODE=0的警告信息。
處理辦法:
定義一個標志變量,比如DECLARE V_STATUS INTEGER DEFAULT 0,
在CALL SPNAME之后, SET V_STATUS = 1,
DECLARE CONTINUE HANDLER FOR SQLWARNING
BEGIN
IF V_STATUS <> 1 THEN
--警告處理,插入日志
SET V_STATUS = 0;
END IF;
END;
1.18 import用法
db2 import from gh1.out of DEL messages err.txt insert into db2inst1.tb_dbf_match_ha
注意要加schma
1.19 values的使用
如果有多個 set 語句給變量付值,最好使用values語句,改寫為一句。這樣可以提高效率。
但要注意,values不能將null值付給一個變量。
values(null) into out_return_code;
這個語句會報錯的。
1.20 給select 語句指定隔離級別
select * from tb_head_stock_balance with ur
1.21 atomic及not atomic區(qū)別
atomic是將該部分程序塊指定為一個整體,其中任何一個語句失敗,則整個程序塊都相當于沒做,包括包含在atomic塊內的已經執(zhí)行成功的語句也相當于沒做,有點類似于transaction。
2 DB2編程性能注意
2.1 大數據的導表
應該是export后再load性能更好,因為load不寫日志。
比select into 要好。
<
相關文章
DB2 數據庫創(chuàng)建、表的ixf文件導出導入示例
這篇文章主要介紹了DB2 數據庫創(chuàng)建、表的ixf文件導出導入示例,需要的朋友可以參考下2014-08-08DB2新手使用的一些小筆記:新建實例、數據庫路徑不存在、客戶端連接 .
這次,我們的DB2是被部署在Windows上的。Windows下有一個所謂的圖形界面的客戶端。不過似乎不大好用,遇到了一些問題,我們來解決吧2013-11-11