成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

DB2數據庫編程序要用到的小技巧有哪些?

數據庫
以下的文章主要介紹的是DB2編程序的一些小操作技巧,如果你在DB2編程序中存在不解之處時,你不妨瀏覽此文,希望你能從中獲得自己想要的東西。

以下的文章主要向大家講述的是DB2數據庫編程序的一些小操作技巧,我在一個信譽度很好的網站找到一個關于DB2編程序的一些小操作技巧的資料,拿出來供大家分享,以下的文章就是對相關內容的描述。
 

1. 建存儲過程時Create 后一定不要用TAB鍵

 

  1. create procedure 

的create后只能用空格,而不可用tab健,否則編譯會通不過。 切記,切記。

2. 使用臨時表

要注意,臨時表只能建在user tempory tables space 上,如果database只有system tempory table space是不能建臨時表的。

另外,DB2的臨時表和sybase及oracle的臨時表不太一樣,DB2數據庫的臨時表是在一個session內有效的。所以,如果程序有多線程,最好不要用臨時表,很難控制。

建臨時表時最好加上 with replace選項,這樣就可以不顯示的drop 臨時表,建臨時表時如果不加該選項而該臨時表在該session內已創建且沒有drop,這時會發生錯誤。

3. 從數據表中取指定前幾條記錄

 

  1. select * from tb_market_code fetch first 1 rows only 

但下面這種方式不允許

 

  1. select market_code into v_market_code  
  2. from tb_market_code fetch first 1 rows only;  

 

選第一條記錄的字段到一個變量以以下方式代替

 

  1. declare v_market_code char(1);  
  2. declare cursor1 cursor for select market_code from tb_market_code  
  3. fetch first 1 rows only for update;  
  4. open cursor1;  
  5. fetch cursor1 into v_market_code;  
  6. close cursor1;  

 

4. 游標的使用

注意commit和rollback

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

游標的兩種定義方式

一種為

 

  1. declare continue handler for not found  
  2. begin  
  3. set v_notfound = 1;  
  4. end;  
  5. declare cursor1 cursor with hold for select market_code from tb_market_code for update;  
  6. open cursor1;  
  7. set v_notfound=0;  
  8. fetch cursor1 into v_market_code;  
  9. while v_notfound=0 Do  
  10. --work  
  11. set v_notfound=0;  
  12. fetch cursor1 into v_market_code;  
  13. end while;  
  14. close cursor1;  

 

這種方式使用起來比較復雜,但也比較靈活。特別是可以使用with hold 選項。如果循環內有commit或rollback 而要保持該cursor不被關閉,只能使用這種方式。

另一種為

 

  1. pcursor1: for loopcs1 as cousor1 cursor as  
  2. select market_code as market_code  
  3. from tb_market_code  
  4. for update  
  5. do  
  6. end for;  

 

這種方式的優點是比較簡單,不用(也不允許)使用open,fetch,close。

但不能使用with hold 選項。如果在游標循環內要使用commit,rollback則不能使用這種方式。如果沒有commit或rollback的要求,推薦使用這種方式(看來For這種方式有問題)。

修改游標的當前記錄的方法

 

  1. update tb_market_code set market_code='0' where current of cursor1; 

不過要注意將cursor1定義為可修改的游標

 

  1. declare cursor1 cursor for select market_code from tb_market_code  
  2. for update;  

 

for update 不能和GROUP BY、 DISTINCT、 ORDER BY、 FOR READ ONLY及UNION, EXCEPT, or INTERSECT但 UNION ALL除外)一起使用。

5. 類似decode的轉碼操作

oracle中有一個函數 select decode(a1,'1','n1','2','n2','n3') aa1 from

DB2數據庫沒有該函數,但可以用變通的方法

 

  1. select case a1  
  2. when '1' then 'n1'  
  3. when '2' then 'n2'  
  4. else 'n3'  
  5. end as aa1 from  

 

6. 類似charindex查找字符在字串中的位置

Locate(‘y’,’dfdasfay’)

查找’y’ 在’dfdasfay’中的位置。

7. 類似datedif計算兩個日期的相差天數

 

  1. days(date(‘2001-06-05’)) – days(date(‘2001-04-01’)) 

days 返回的是從 0001-01-01 開始計算的天數

8. 寫UDF的例子

C寫見sqllib\samples\cli\udfsrv.c

9.創建含identity值(即自動生成的ID)的表

建這樣的表的寫法

 

  1. CREATE TABLE test  
  2. (t1 SMALLINT NOT NULL  
  3. GENERATED ALWAYS AS IDENTITY  
  4. (START WITH 500, INCREMENT BY 1),  
  5. t2 CHAR(1));  

 

在一個表中只允許有一個identity的column.以上的相關內容就是對DB2數據庫編程序的一些小操作技巧的介紹,望你能有所收獲。
 

【編輯推薦】

  1. DB2數據庫雙機的正確安裝流程描述
  2. DB2數據庫編譯中那兩個問題會困擾你?
  3. JDBC連接DB2數據庫的“捷徑”
  4. IBM DB2 Catalog如何正確應用?
  5. DB2連接端口不能啟動這一問題的殲滅
     
責任編輯:佚名 來源: css-board.cn
相關推薦

2010-08-16 13:36:11

連接DB2數據庫

2010-08-13 13:31:14

DB2編程序

2010-08-05 16:19:06

DB2建立數據庫分區

2010-08-18 14:44:24

JDBC連接DB2實例

2010-08-09 10:36:20

執行DB2命令

2011-05-13 09:59:14

DB2數據庫備份

2010-08-12 17:23:20

DB2存儲過程編寫流程

2011-03-02 17:56:40

DB2數據庫

2010-08-02 09:10:45

JDBC連接DB2

2011-03-16 16:03:00

DB2數據庫

2009-12-16 10:48:42

DB2數據庫

2010-08-11 12:51:12

DB2 多分區備份

2010-08-02 17:37:06

DB2建立databa

2010-09-07 13:39:22

DB2數據庫

2010-08-20 13:17:50

DB2數據庫分區管理

2010-07-27 09:09:07

JDBC連接DB2

2011-03-15 14:13:56

JDBCDB2數據庫

2010-08-27 10:20:11

DB2數據庫優化

2009-02-26 09:34:16

性能優化DB2數據庫

2010-08-17 13:30:54

DB2數據備份
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲aⅴ | 一区视频在线 | 一级黄色片日本 | 麻豆成人在线视频 | 国产精品免费一区二区三区 | 亚洲精品电影网在线观看 | 九九亚洲精品 | 夜夜爽99久久国产综合精品女不卡 | 国产美女在线精品免费 | 日本视频中文字幕 | 午夜网站视频 | 99小视频 | 成人久久久 | 日韩中文字幕视频在线观看 | 久久久久久精 | 国产精品呻吟久久av凹凸 | 求个av网址| 国产一区二区三区在线 | 精品国产18久久久久久二百 | 国产成人av电影 | 男女羞羞视频免费看 | 黄网站涩免费蜜桃网站 | 特级做a爱片免费69 精品国产鲁一鲁一区二区张丽 | 色视频在线免费观看 | 精品欧美激情精品一区 | 欧美精品久久久久久久久久 | 亚洲精品久久久蜜桃 | 成人高清在线 | 51ⅴ精品国产91久久久久久 | 一区二区三区亚洲 | 中文字幕在线一 | 国产精品激情小视频 | 免费观看国产视频在线 | 国产精品色一区二区三区 | 祝你幸福电影在线观看 | www.亚洲精品 | 欧美日韩高清免费 | 在线一区 | 中文字幕精品一区二区三区精品 | 美女网站视频免费黄 | 国产自产21区 |