激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - DB2 - DB2編程序技巧(1)

DB2編程序技巧(1)

2020-06-09 18:14數(shù)據(jù)庫之家 DB2

本文主要講解DB2編程序技巧(1),具有一定的參考價值,有需要的朋友可以參考一下。

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)閉,只能使用這種方式。

 另一種為 

pcursor1: for loopcs1 as  cousor1  cursor  as 

select  market_code  as market_code 

from tb_market_code 

for update 

do 

end for; 

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

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

修改游標的當(dāng)前記錄的方法 

update tb_market_code set market_code=’0’ where current of cursor1; 

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

declare cursor1 cursor for select market_code from tb_market_code  

for update; 

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

1.5 類似decode的轉(zhuǎn)碼操作 

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

db2沒有該函數(shù),但可以用變通的方法 

select case a1  

when ’1’ then ’n1’  

when ’2’ then ’n2’  

else ’n3’ 

  end as aa1 from 

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

Locate(‘y','dfdasfay') 

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

1.7 類似datedif計算兩個日期的相差天數(shù) 

days(date(‘2001-06-05')) – days

延伸 · 閱讀

精彩推薦
  • DB2DB2專家王云談商業(yè)智能BI

    DB2專家王云談商業(yè)智能BI

    王云說: 既然講商業(yè)智能,我們大家都在講及時性,我們講要有績效,要有BPM,我自己就來看看我們能不能在這個會場上,我們來實踐一下,如果大家抬頭...

    DB2數(shù)據(jù)庫教程網(wǎng)4202020-06-10
  • DB2DB2 UDB V8.1管理學(xué)習(xí)筆記(三)

    DB2 UDB V8.1管理學(xué)習(xí)筆記(三)

    本文主要講解DB2 UDB V8.1管理學(xué)習(xí)筆記(三),有需要的朋友可以參考下 ...

    DB2數(shù)據(jù)庫教程網(wǎng)3182020-06-03
  • DB2CentOS下DB2數(shù)據(jù)庫安裝過程詳解

    CentOS下DB2數(shù)據(jù)庫安裝過程詳解

    這篇文章主要介紹了CentOS下DB2數(shù)據(jù)庫安裝過程詳解,本文步驟詳細,操作的命令也比較全,需要的朋友可以參考下 ...

    DB2數(shù)據(jù)庫教程網(wǎng)3572020-06-06
  • DB2db2數(shù)據(jù)庫常用操作命令大全

    db2數(shù)據(jù)庫常用操作命令大全

    這篇文章主要介紹了db2數(shù)據(jù)庫常用操作命令大全,匯總了DB2的常用操作命令,分享給大家供大家參考,需要的朋友可以參考下...

    db2教程網(wǎng)6962021-10-21
  • DB2如何訪問大型機、小型機上的DB2 9數(shù)據(jù)服務(wù)器

    如何訪問大型機、小型機上的DB2 9數(shù)據(jù)服務(wù)器

    數(shù)據(jù)庫連接工具軟件 DB2 connect的基本特性是為桌面應(yīng)用程序和服務(wù)主機的數(shù)據(jù)庫服務(wù)器之間提供一種連接交互訪問的方法。這些桌面應(yīng)用程序所在的環(huán)境可...

    腳本之家3242020-06-10
  • DB2python之sqlalchemy創(chuàng)建表的實例詳解

    python之sqlalchemy創(chuàng)建表的實例詳解

    這篇文章主要介紹了數(shù)據(jù)庫之sqlalchemy創(chuàng)建表的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握理解這部分內(nèi)容,需要的朋友可以參考下...

    wait_for_eva8502020-06-11
  • DB2分析DB2活動日志滿的原因及解決DB2日志滿方法與避免方案

    分析DB2活動日志滿的原因及解決DB2日志滿方法與避免方案

    本文簡單地介紹了DB2中日志的使用、活動日志以及首個活動日志的概念、日志滿的原因、日志滿的診斷、臨時處理以及避免辦法 ...

    wdc3462020-06-05
  • DB2DB2 SELECT語句高級用法

    DB2 SELECT語句高級用法

    DB2 SELECT語句高級用法,學(xué)習(xí)db2數(shù)據(jù)庫的朋友可以參考下。 ...

    DB2數(shù)據(jù)庫教程網(wǎng)6242020-06-08
主站蜘蛛池模板: 韩国一级免费视频 | 成人三级电影网址 | 久久久在线免费观看 | 国产亚洲精品综合一区 | 免费一级特黄毛片视频 | 视频一区二区三区免费观看 | 亚洲一区二区不卡视频 | 黄色片在线观看网站 | 狠狠久久伊人中文字幕 | 久久国产精品免费视频 | 高清久久久 | 久久久久久久一区 | 成年免费视频黄网站在线观看 | 斗罗破苍穹在线观看免费完整观看 | 久久精品亚洲欧美日韩精品中文字幕 | 九九热精品视频在线 | 久久电影一区二区 | japanesexxxx24videofree | 男女生羞羞视频网站在线观看 | 国产精品自在线拍 | 国产在线观看91精品 | 奇米影视888狠狠狠777不卡 | 91久久精品一| 日韩在线观看视频网站 | 国产自91精品一区二区 | 久久久三级免费电影 | 国产精品成人一区二区三区电影毛片 | 精品国产一二区 | 在线成人免费观看视频 | 国产电影av在线 | 北原夏美av| 久久精品黄 | 欧美性成人 | 一级做a爰性色毛片免费 | 欧美黄色免费视频 | 久久亚洲成人 | 中文字幕一区在线观看视频 | 精品久久久久久久久久久久久久久久久久久 | 亚洲综合精品 | 日日摸夜夜添夜夜添牛牛 | 成人毛片网站 |