濮阳杆衣贸易有限公司

主頁 > 知識庫 > DB2編程序小小技巧

DB2編程序小小技巧

熱門標簽:400電話辦理2273649Z空間 怎樣在地圖標注自己的信息 高德地圖標注生成 電銷外呼系統(tǒng)違規(guī) 寧夏外呼系統(tǒng)方案 濟南電銷外呼防封卡怎么樣 智能語音外呼系統(tǒng)打電話 400電話怎么申請收費標準 南京外呼系統(tǒng)租用
正在看的db2教程是:DB2編程序小小技巧。
一些編程經(jīng)驗,與大家共享!

1 DB2編程
1.1 建存儲過程時CREATE 后一定不要用TAB鍵 3
1.2 使用臨時表 3
1.3 從數(shù)據(jù)表中取指定前幾條記錄 3
1.4 游標的使用 4
注意commit和rollback 4
游標的兩種定義方式 4
修改游標的當(dāng)前記錄的方法 5
1.5 類似DECODE的轉(zhuǎn)碼操作 5
1.6 類似CHARINDEX查找字符在字串中的位置 5
1.7 類似DATEDIF計算兩個日期的相差天數(shù) 5
1.8 寫UDF的例子 5
1.9 創(chuàng)建含IDENTITY值(即自動生成的ID)的表 6
1.10 預(yù)防字段空值的處理 6
1.11 取得處理的記錄數(shù) 6
1.12 從存儲過程返回結(jié)果集(游標)的用法 6
1.13 類型轉(zhuǎn)換函數(shù) 8
1.14 存儲過程的互相調(diào)用 8
1.15 C存儲過程參數(shù)注意 8
1.16 存儲過程FENCE及UNFENCE 8
1.17 SP錯誤處理用法 9
1.18 IMPORT用法 9
1.19 VALUES的使用 9
1.20 給SELECT 語句指定隔離級別 10
1.21 ATOMIC及NOT ATOMIC區(qū)別 10
2 DB2編程性能注意 10
2.1 大數(shù)據(jù)的導(dǎo)表 10
2.2 SQL語句盡量寫復(fù)雜SQL 10
2.3 SQL  SP及C SP的選擇 10
2.4 查詢的優(yōu)化(HASH及RR_TO_RS) 11
2.5 避免使用COUNT(*) 及EXISTS的方法 11
3 DB2表及SP管理 12
3.1 看存儲過程文本 12
3.2 看表結(jié)構(gòu) 12
3.3 查看各表對SP的影響(被哪些SP使用) 12
3.4 查看SP使用了哪些表 12
3.5 查看FUNCTION被哪些SP使用 12
3.6 修改表結(jié)構(gòu) 12
4 DB2系統(tǒng)管理 13
4.1 DB2安裝 13
4.2 創(chuàng)建DATABASE 14
4.3 手工做數(shù)據(jù)庫遠程(別名)配置 14
4.4 停止啟動數(shù)據(jù)庫實例 14
4.5 連接數(shù)據(jù)庫及看當(dāng)前連接數(shù)據(jù)庫 14
4.6 停止啟動數(shù)據(jù)庫HEAD 15
4.7 查看及停止數(shù)據(jù)庫當(dāng)前的應(yīng)用程序 15
4.8 查看本INSTANCE下有哪些DATABASE 15
4.9 查看及更改數(shù)據(jù)庫HEAD的配置 16
4.9.1 改排序堆的大小 16
4.9.2 改事物日志的大小 16
4.9.3 出現(xiàn)程序堆內(nèi)存不足時修改程序堆內(nèi)存大小 16
4.10 查看及更改數(shù)據(jù)庫實例的配置 16
4.10.1 打開對鎖定情況的監(jiān)控。 16
4.10.2 更改診斷錯誤捕捉級別 17
4.11 DB2環(huán)境變量 17
4.12 DB2命令環(huán)境設(shè)置 17
4.13 改變隔離級別 17
4.14 管理DB\INSTANCE的參數(shù) 18
4.15 升級后消除版本問題 18
4.16 查看數(shù)據(jù)庫表的死鎖 18
 
1 DB2編程
1.1 建存儲過程時Create 后一定不要用TAB鍵
create procedure
的create后只能用空格,而不可用tab健,否則編譯會通不過。
切記,切記。

1.2 使用臨時表

  要注意,臨時表只能建在user tempory tables space 上,如果database只有system tempory table space是不能建臨時表的。
  另外,DB2的臨時表和sybase及oracle的臨時表不太一樣,DB2的臨時表是在一個session內(nèi)有效的。所以,如果程序有多線程,最好不要用臨時表,很難控制。
   建臨時表時最好加上  with  replace選項,這樣就可以不顯示的drop 臨時表,建臨時表時如果不加該選項而該臨時表在該session內(nèi)已創(chuàng)建且沒有drop,這時會發(fā)生錯誤。
1.3 從數(shù)據(jù)表中取指定前幾條記錄
select  *  from tb_market_code fetch first 1 rows only

但下面這種方式不允許
select market_code into v_market_code 
        from tb_market_code fetch first 1 rows only;     
    
選第一條記錄的字段到一個變量以以下方式代替
    declare v_market_code char(1);
    declare cursor1 cursor for select market_code from tb_market_code 
fetch first 1 rows only for update;
    open cursor1;
    fetch cursor1 into v_market_code;
    close cursor1;

1.4 游標的使用
注意commit和rollback
使用游標時要特別注意如果沒有加with hold 選項,在Commit和Rollback時,該游標將被關(guān)閉。Commit 和Rollback有很多東西要注意。特別小心

游標的兩種定義方式
一種為
declare continue handler for not found
   begin
     set v_notfound = 1;
   end;

declare cursor1 cursor with hold for select market_code from tb_market_code  for update;
open cursor1;
set v_notfound=0;
fetch cursor1 into v_market_code;
while v_notfound=0 Do
--work
set v_notfound=0;
fetch cursor1 into v_market_code;
end while;
close cursor1;
這種方式使用起來比較復(fù)雜,但也比較靈活。特別是可以使用with hold 選項。如果循環(huán)內(nèi)有commit或rollback 而要保持該cursor不被關(guān)閉,只能使用這種方式。
&n

[1] [2] [3] [4] [5] [6] 下一篇

標簽:潛江 仙桃 平頂山 唐山 茂名 惠州 貴港 長白山

巨人網(wǎng)絡(luò)通訊聲明:本文標題《DB2編程序小小技巧》,本文關(guān)鍵詞  DB2,編程序,小小,技巧,DB2,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《DB2編程序小小技巧》相關(guān)的同類信息!
  • 本頁收集關(guān)于DB2編程序小小技巧的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    襄垣县| 洛宁县| 永登县| 化州市| 新绛县| 滨海县| 蓝山县| 通州区| 九江县| 安徽省| 台山市| 翁源县| 长垣县| 株洲市| 安顺市| 诏安县| 乌鲁木齐县| 桃江县| 富蕴县| 乌拉特后旗| 繁峙县| 郸城县| 黔江区| 玛纳斯县| 文安县| 四川省| 贺兰县| 金堂县| 南陵县| 紫云| 南郑县| 襄汾县| 达孜县| 铁岭县| 阜宁县| 太和县| 中山市| 绍兴县| 电白县| 永修县| 潞西市|