主頁 > 知識庫 > DB2編程序技巧 (三)

DB2編程序技巧 (三)

熱門標簽:400電話怎么申請收費標準 電銷外呼系統(tǒng)違規(guī) 400電話辦理2273649Z空間 濟南電銷外呼防封卡怎么樣 怎樣在地圖標注自己的信息 智能語音外呼系統(tǒng)打電話 南京外呼系統(tǒng)租用 寧夏外呼系統(tǒng)方案 高德地圖標注生成
正在看的db2教程是:DB2編程序技巧 (三)。  另一種為
      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這種方式有問題)。

修改游標的當前記錄的方法
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(date(‘2001-04-01'))
days 返回的是從  0001-01-01 開始計算的天數(shù)
1.8 寫UDF的例子
C寫見sqllib\samples\cli\udfsrv.c

1.9 創(chuàng)建含identity值(即自動生成的ID)的表
建這樣的表的寫法
CREATE TABLE test
     (t1 SMALLINT NOT NULL
        GENERATED ALWAYS AS IDENTITY
        (START WITH 500, INCREMENT BY 1),
      t2 CHAR(1));
在一個表中只允許有一個identity的column.


<

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

巨人網(wǎng)絡通訊聲明:本文標題《DB2編程序技巧 (三)》,本文關(guān)鍵詞  DB2,編程序,技巧,三,DB2,編程序,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《DB2編程序技巧 (三)》相關(guān)的同類信息!
  • 本頁收集關(guān)于DB2編程序技巧 (三)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章