国产探花免费观看_亚洲丰满少妇自慰呻吟_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不被關閉,只能使用這種方式。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 剑川县| 洮南市| 常宁市| 正镶白旗| 尼勒克县| 东阿县| 三原县| 运城市| 冀州市| 兴国县| 岑溪市| 杭州市| 墨脱县| 吴旗县| 周宁县| 怀仁县| 梓潼县| 珠海市| 长海县| 宜宾市| 瑞丽市| 金平| 涿州市| 沁水县| 石家庄市| 南皮县| 女性| 苗栗市| 黔南| 察哈| 阳城县| 固始县| 景东| 宣化县| 崇左市| 香港 | 汉沽区| 科尔| 嘉善县| 奉新县| 乐清市|