DB2編程序技巧 (五)
更新時(shí)間:2007年03月06日 00:00:00 作者:
正在看的db2教程是:DB2編程序技巧 (五)。1.16 存儲過程fence及unfence
fence的存儲過程單獨(dú)啟用一個新的地址空間,而unfence的存儲過程和調(diào)用它的進(jìn)程使用同一個地址空間。
一般而言,fence的存儲過程比較安全。
但有時(shí)一些特殊的要求,如要取調(diào)用者的pid,則fence的存儲過程會取不到,而只有unfence的能取到。
1.17 SP錯誤處理用法
如果在SP中調(diào)用其它的有返回值的,包括結(jié)果集、臨時(shí)表和輸出參數(shù)類型的SP,
DB2會自動發(fā)出一個SQLWarning。而在我們原來的處理中對于SQLWarning都
會插入到日志,這樣子最后會出現(xiàn)多條SQLCODE=0的警告信息。
處理辦法:
定義一個標(biāo)志變量,比如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;
這個語句會報(bào)錯的。
1.20 給select 語句指定隔離級別
select * from tb_head_stock_balance with ur
1.21 atomic及not atomic區(qū)別
atomic是將該部分程序塊指定為一個整體,其中任何一個語句失敗,則整個程序塊都相當(dāng)于沒做,包括包含在atomic塊內(nèi)的已經(jīng)執(zhí)行成功的語句也相當(dāng)于沒做,有點(diǎn)類似于transaction。
2 DB2編程性能注意
2.1 大數(shù)據(jù)的導(dǎo)表
應(yīng)該是export后再load性能更好,因?yàn)閘oad不寫日志。
比select into 要好。
<
fence的存儲過程單獨(dú)啟用一個新的地址空間,而unfence的存儲過程和調(diào)用它的進(jìn)程使用同一個地址空間。
一般而言,fence的存儲過程比較安全。
但有時(shí)一些特殊的要求,如要取調(diào)用者的pid,則fence的存儲過程會取不到,而只有unfence的能取到。
1.17 SP錯誤處理用法
如果在SP中調(diào)用其它的有返回值的,包括結(jié)果集、臨時(shí)表和輸出參數(shù)類型的SP,
DB2會自動發(fā)出一個SQLWarning。而在我們原來的處理中對于SQLWarning都
會插入到日志,這樣子最后會出現(xiàn)多條SQLCODE=0的警告信息。
處理辦法:
定義一個標(biāo)志變量,比如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;
這個語句會報(bào)錯的。
1.20 給select 語句指定隔離級別
select * from tb_head_stock_balance with ur
1.21 atomic及not atomic區(qū)別
atomic是將該部分程序塊指定為一個整體,其中任何一個語句失敗,則整個程序塊都相當(dāng)于沒做,包括包含在atomic塊內(nèi)的已經(jīng)執(zhí)行成功的語句也相當(dāng)于沒做,有點(diǎn)類似于transaction。
2 DB2編程性能注意
2.1 大數(shù)據(jù)的導(dǎo)表
應(yīng)該是export后再load性能更好,因?yàn)閘oad不寫日志。
比select into 要好。
<
相關(guān)文章
DB2 9數(shù)據(jù)服務(wù)器發(fā)展3部曲
DB2 9數(shù)據(jù)服務(wù)器發(fā)展3部曲...2007-04-04使用SQL Server連接服務(wù)器訪問DB2 Server
這篇文章主要介紹了使用SQL Server連接服務(wù)器訪問DB2 Server,需要的朋友可以參考下2016-12-12DB2 數(shù)據(jù)庫創(chuàng)建、表的ixf文件導(dǎo)出導(dǎo)入示例
這篇文章主要介紹了DB2 數(shù)據(jù)庫創(chuàng)建、表的ixf文件導(dǎo)出導(dǎo)入示例,需要的朋友可以參考下2014-08-08DB2新手使用的一些小筆記:新建實(shí)例、數(shù)據(jù)庫路徑不存在、客戶端連接 .
這次,我們的DB2是被部署在Windows上的。Windows下有一個所謂的圖形界面的客戶端。不過似乎不大好用,遇到了一些問題,我們來解決吧2013-11-11DB2獲取當(dāng)前用戶表、字段、索引等詳細(xì)信息
這篇文章主要介紹了DB2獲取當(dāng)前用戶表、字段、索引等詳細(xì)信息的sql,需要的朋友可以參考下2014-07-07