討論區快速選單
知識庫快速選單
程式設計俱樂部Facebook粉絲團 三個月從數學老師轉行程式設計師 政府補助!學嵌入式+物聯網
[ 回上頁 ] [ 討論區發言規則 ]
cursor loop
更改我的閱讀文章字型大小
作者 : dondonyen(dondonyen)
[ 貼文 29 | 人氣 1343 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/11/6 下午 03:52:38
請教各位前輩~以下plsql ,有3個cursor,分別於不同情形下執行,若是loop裡做的事情都一樣,該如何簡化程式碼呢???

  CURSOR c1 IS ---情形A
    SELECT *
    FROM itemC;
  CURSOR c2 IS
    SELECT *
    FROM itemB ---情形B
  CURSOR c3 IS
    SELECT *
    FROM itemA ---情形C
BEGIN
if 情形A then
  FOR i IN c1 LOOP
    dbms_output.put_line('ITEM.ITEM_TITLE ['||i.title||']');
  END LOOP;
elseif 情形B then
  FOR i IN c2 LOOP
    dbms_output.put_line('ITEM.ITEM_TITLE ['||i.title||']');
  END LOOP;
else 情形C
  FOR i IN c3 LOOP
    dbms_output.put_line('ITEM.ITEM_TITLE ['||i.title||']');
  END LOOP;
end if;
作者 : td33(0&1)
[ 貼文 29 | 人氣 1787 | 評價 80 | 評價/貼文 2.76 | 送出評價 8 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/11/13 下午 09:41:08
CURSOR c_tot IS
    SELECT *
    FROM itemC ---情形A
    union all
    SELECT *
    FROM itemB ---情形B
   union all
    SELECT *
    FROM itemA ---情形C
    ;
BEGIN
  --前提是欄位數及屬性一致
  FOR i IN c_tot LOOP
    if 情形A then
     dbms_output.put_line('ITEM.ITEM_TITLE ['||i.title||']');
    elsif 情形B then
     dbms_output.put_line('ITEM.ITEM_TITLE ['||i.title||']');
    else
     dbms_output.put_line('ITEM.ITEM_TITLE ['||i.title||']');
    end if;
  END LOOP;
 板主 : 徵求中
 > Oracle - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Oracle - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Oracle
1 Ricky 3260 
2 HKLN.net 1650 
3 falcon 300 
4 Leon Chou 230 
5 180 
6 sunnychen 100 
7 凡人 90 
8 SAP 80 
9 萬惡我為首 80 
10 阿德 80 
Oracle
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2017 程式設計俱樂部 http://www.programmer-club.com.tw/
0.015625