PLSQL 一問 (ORACLE) |
尚未結案
|
isthatu
初階會員 發表:80 回覆:47 積分:25 註冊:2002-06-26 發送簡訊給我 |
declare
cursor sel_wrgall_s is
select kcnt from wrgall A ;
begin
open sel_wrgall_s ;
wk_db13:=null;
loop
>>>> fetch sel_wrgall_s into AB_S;
exit when sel_wrgall_s%otfound;
end loop;
close sel_wrgall_s;
end;
------------------------------------------------ 請問各位
上面是一個plsql
其中定義的 sel_wrgall_s 如果select 出來並沒有資料時
那fetch sel_wrgall_s into AB_S; (AB_S 定義唯一字串型態)
會不會出錯??
還是LOOP該換成這樣 LOOP exit when sel_wrgall_s%otfound;
fetch sel_wrgall_s into AB_S;
............. END LOOP 以避開當sel_wrgall_s沒有資料 (這狀態是NULL嗎?)
他又把資料餵到AB_S字串裡.....
------
BCDEFHIJKLMNOPQRSTUVWXZ |
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi isthatu, 1.不會,只是 AB_S 會為 NULL
2.較簡潔的寫法,建議你可以改為
declare cursor sel_wrgall_s is select kcnt from wrgall A ; begin for rec in sel_wrgall_s loop dbms_output.put_line(rec.kcnt); end loop; end;---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman |
hua2000
中階會員 發表:102 回覆:200 積分:65 註冊:2006-11-04 發送簡訊給我 |
引言: declare cursor sel_wrgall_s is select kcnt from wrgall A ; begin open sel_wrgall_s ; wk_db13:=null; loop >>>> fetch sel_wrgall_s into AB_S; exit when sel_wrgall_s%otfound; end loop; close sel_wrgall_s; end; ------------------------------------------------ 請問各位 上面是一個plsql 其中定義的 sel_wrgall_s 如果select 出來並沒有資料時 那fetch sel_wrgall_s into AB_S; (AB_S 定義唯一字串型態) 會不會出錯?? 還是LOOP該換成這樣 LOOP exit when sel_wrgall_s%otfound; fetch sel_wrgall_s into AB_S; ............. END LOOP 以避開當sel_wrgall_s沒有資料 (這狀態是NULL嗎?) 他又把資料餵到AB_S字串裡.....你的代碼本身就有問題, wk_db13:=null; --中的wk_db13没有声明是一处错误 你可以改成这样: declare cursor sel_wrgall_s is select kcnt from wrgall A ; AB_S wrgall%rowtype; begin open sel_wrgall_s ; loop fetch sel_wrgall_s into AB_S; exit when sel_wrgall_s%notfound; --可在这里处理 end loop; close sel_wrgall_s; end; 你试一下吧 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |