国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > DB2 > 正文

DB2編程序技巧 (二)

2019-09-08 23:34:33
字體:
來源:轉載
供稿:網友
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內有效的。所以,如果程序有多線程,最好不要用臨時表,很難控制。
  建臨時表時最好加上  with  replace選項,這樣就可以不顯示的drop 臨時表,建臨時表時如果不加該選項而該臨時表在該session內已創建且沒有drop,這時會發生錯誤。
1.3 從數據表中取指定前幾條記錄
select  *  from tb_market_code fetch first 1 rows only

但下面這種方式不允許
select market_code into v_market_code  
/tfrom 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時,該游標將被關閉。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;
這種方式使用起來比較復雜,但也比較靈活。特別是可以使用with hold 選項。如果循環內有commit或rollback 而要保持該cursor不被關閉,只能使用這種方式。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 建阳市| 萝北县| 绍兴市| 满洲里市| 米林县| 惠水县| 六安市| 西峡县| 炎陵县| 武隆县| 和平县| 红河县| 安化县| 乾安县| 平江县| 方城县| 喀喇沁旗| 翁牛特旗| 安仁县| 莎车县| 漯河市| 锡林浩特市| 正蓝旗| 儋州市| 曲麻莱县| 厦门市| 黎平县| 枣庄市| 新化县| 宜城市| 米脂县| 思茅市| 香格里拉县| 西峡县| 曲沃县| 北海市| 腾冲县| 中宁县| 南皮县| 嘉荫县| 沙雅县|