日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle游标错误,ORACLE游标与错误处理

發布時間:2025/4/16 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle游标错误,ORACLE游标与错误处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ORACLE游標與異常處理

過程示例

create or replace procedure PROC_TASK_QUERY

is

g_name task_company_stock_list.g_name%type;

code_t task_company_stock_list.code_t%type;

firm_code task_company_stock_list.firm_code%type;

firm_name task_company_stock_list.firm_name%type;

unit_name task_company_stock_list.unit_name%type;

in_qty task_company_stock_list.in_qty%type;

out_qty task_company_stock_list.out_qty%type;

id_d task_company_stock_detail.id%type;

eml_id_d task_company_stock_detail.eml_id%type;

busi_type_d task_company_stock_detail.busi_type%type;

refer_doc_d task_company_stock_detail.refer_doc%type;

pass_gate_time_d task_company_stock_detail.pass_gate_time%type;

trade_name_d task_company_stock_detail.trade_name%type;

name_d task_company_stock_detail.name%type;

move_name_d task_company_stock_detail.move_name%type;

g_qty_d task_company_stock_detail.g_qty%type;

g_name_d task_company_stock_detail.g_name%type;

unit_name_d task_company_stock_detail.unit_name%type;

code_t_d task_company_stock_detail.code_t%type;

g_no_d task_company_stock_detail.g_no%type;

sqlstr long;

moduleno varchar2(100);

userid varchar2(100);

queryp varchar2(10);

insqlmain long;

insqldetail long;

insqldetail2 long;

insqldetail3 long;

startposition number(10);

len number(10);

type sql_array is table of task_schedule_query.sqlstr%type index by binary_integer;

sqlarray sql_array;

lpindex number(10);

delimiter varchar2(10);

type cur is ref cursor ;

sqlcur cur;

incur cur;

indetailcur cur;

begin

insqlmain := '';

insqldetail :='';

insqldetail2 :='';

insqldetail3 :='';

sqlarray(1):='';

sqlarray(2):='';

sqlarray(3):='';

sqlarray(4):='';

open sqlcur for select user_id,moduleno,sqlstr,query_param from task_schedule_query where status=1;

loop

fetch sqlcur into userid,moduleno,sqlstr,queryp;

exit when sqlcur%notfound;

--構造查詢字符串數組開始

delimiter:='~';

startposition:=1;

lpindex:= 1;

loop

select instr(sqlstr,delimiter,startposition ) into len from dual;

--dbms_output.put_line(startposition);

--dbms_output.put_line(len);

if len!=0 then

select substr(sqlstr,startposition,len-startposition) into sqlarray(lpindex) from dual;

else

select substr(sqlstr,startposition) into sqlarray(lpindex) from dual;

--dbms_output.put_line(sqlarray(lpindex));

exit;

end if;

--dbms_output.put_line(sqlarray(lpindex));

startposition:=len+1;

lpindex:=lpindex+1;

end loop;

/*

for i in 1..sqlarray.count

loop

dbms_output.put_line(sqlarray(i));

end loop;

*/

--構造查詢字符串數組結束

insqlmain := sqlarray(1);

insqldetail:=sqlarray(2);

insqldetail2 :=sqlarray(3);

insqldetail3 :=sqlarray(4);

--分模塊執行:企業進出倉庫存查詢開始

IF(moduleno='compStockSearch') THEN

BEGIN

update task_schedule_query set status=2,start_time=sysdate where user_id=userid and moduleno=moduleno;

IF(queryp='1' OR queryp='2') THEN

open incur for insqlmain;

loop

fetch incur into g_name,code_t,firm_code,firm_name,unit_name,in_qty,out_qty;

exit when incur%notfound;

insert into task_company_stock_list(g_name,code_t,firm_code,firm_name,unit_name,in_qty,out_qty,user_id)

values(g_name,code_t,firm_code,firm_name,unit_name,in_qty,out_qty,userid);

end loop;

close incur;

DBMS_OUTPUT.put_line('sqlmain is :'||insqlmain);

END IF;

IF(queryp='2') THEN

open indetailcur for insqldetail;

loop

fetch indetailcur into id_d,eml_id_d,busi_type_d,refer_doc_d,pass_gate_time_d,trade_name_d,name_d,move_name_d,g_qty_d,g_name_d,unit_name_d,code_t_d,g_no_d;

exit when indetailcur%notfound;

insert into task_company_stock_detail(id,eml_id,busi_type,refer_doc,pass_gate_time,trade_name,name,move_name,g_qty,g_name,unit_name,code_t,g_no,user_id)

values(id_d,eml_id_d,busi_type_d,refer_doc_d,pass_gate_time_d,trade_name_d,name_d,move_name_d,g_qty_d,g_name_d,unit_name_d,code_t_d,g_no_d,userid);

end loop;

close indetailcur;

DBMS_OUTPUT.put_line('sqldetail is :'||insqldetail);

END IF;

update task_schedule_query set status=3,end_time=sysdate where user_id=userid and moduleno=moduleno;

--分模塊的異常處理,不影響下一個模塊的處理

EXCEPTION

WHEN OTHERS THEN

update task_schedule_query set status=4 where user_id=userid and moduleno=moduleno;

END;

END IF;

--分模塊執行:企業進出倉庫存查詢結束

end loop;

close sqlcur;

commit;

EXCEPTION

WHEN OTHERS THEN

NULL;

end;

游標的多種循環

create or replace procedure Test

is

cursor mycusor is

select eml_id,owner_code from store_in_head where rownum<10 order by eml_id ;

myrecord mycusor%rowtype;

begin

--顯示游標循環

open mycusor;

loop

fetch mycusor into myrecord.eml_id,myrecord.owner_code;

exit when mycusor%notfound;

DBMS_OUTPUT.put_line(myrecord.eml_id||','||myrecord.owner_code);

end loop;

close mycusor;

--取游標中多少行

open mycusor;

for i in 1..3

loop

fetch mycusor into myrecord.eml_id,myrecord.owner_code;

DBMS_OUTPUT.put_line(myrecord.eml_id||','||myrecord.owner_code);

end loop;

close mycusor;

--特殊for循環

open mycusor;

for mycurecord in mycusor loop

DBMS_OUTPUT.put_line(mycurecord.eml_id||','||mycurecord.owner_code);

end loop;

close mycusor;

--特殊for循環

for myrec in (select eml_id,owner_code from store_in_head where rownum<10 order by eml_id ) loop

DBMS_OUTPUT.put_line(myrec.eml_id||','||myrec.owner_code);

end loop;

end;

帶參數的游標:

create or replace procedure Test

is

cursor mycusor(p_firm_code varchar2) is

select id from store_in_list where firm_code=p_firm_code and rownum<10 order by eml_id ;

myrecord mycusor%rowtype;

begin

--顯示游標循環

open mycusor('4403447904');

loop

fetch mycusor into myrecord.id;

exit when mycusor%notfound;

DBMS_OUTPUT.put_line(myrecord.id);

end loop;

close mycusor;

end;

總結

以上是生活随笔為你收集整理的oracle游标错误,ORACLE游标与错误处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美永久免费 | 男人日女人的网站 | 欧美一区二区视频在线 | 成人欧美一区二区三区黑人 | 国产成人免费网站 | 99久久99久久久精品棕色圆 | 一级黄色片免费看 | 91精品在线观看入口 | av黄色一级片 | 人人射影院 | 香蕉国产精品视频 | 日韩久久精品 | 最新版天堂资源在线 | 奴性白洁会所调教 | 狠狠婷| 九九热免费在线视频 | 国产女人18水真多18精品一级做 | 在线观看免费www | 制服.丝袜.亚洲.中文.综合懂 | 小泽玛丽亚在线观看 | 91精品国产免费 | 欧美午夜精品理论片 | 国产精品二区一区二区aⅴ 一卡二卡三卡在线观看 | 日本无翼乌邪恶大全彩h | 日本一区二区不卡视频 | 在线观看av中文字幕 | 精品欧美 | 人妻一区在线 | 开元在线观看视频国语 | 一本色道久久88 | 国产亚洲小视频 | 黄色一级免费观看 | av天堂一区二区三区 | 影音先锋制服 | 亚洲性夜| 夜夜操天天爽 | 国产深喉视频一区二区 | 免费看黄色一级大片 | 国产精品一区二区无线 | 国产你懂得 | 日韩最新 | 韩日av片 | 国产精品zjzjzj在线观看 | 国产日韩一区二区三区 | 7777久久亚洲中文字幕 | 国产色婷婷一区二区三区竹菊影视 | 亚洲自拍偷拍第一页 | 午夜看片福利 | 夜夜操操操 | 精品国模一区二区三区欧美 | 国产精品久久精品 | 亚洲人人爱 | 国产精品一区二区免费视频 | 久久综合狠狠 | 欧美成人二区 | 轮番上阵免费观看在线电影 | 五月亚洲综合 | 日韩不卡免费视频 | 黄色av免费在线播放 | 九色视频丨porny丨丝袜 | 精品伦精品一区二区三区视频密桃 | 在线涩涩| 久久久精品一区二区 | 国产综合久久久 | 欧美你懂的 | 日本www | 三上悠亚激情av一区二区三区 | 小小姑娘电影大全免费播放 | 久久久精品人妻一区二区三区色秀 | 午夜毛片在线观看 | 亚洲欧美日韩激情 | 国产伦精品一区二区三区高清 | 瑟瑟视频在线观看 | 99热99这里只有精品 | 免费看片网站91 | 日韩欧美一区二区在线观看 | 好吊妞无缓冲视频观看 | 青青草娱乐视频 | sm捆绑调教视频 | 成人午夜网站 | 国产又粗又长又黄视频 | 免费成人深夜夜行网站视频 | 中文字幕在线视频免费播放 | 福利片av | xxx国产精品 | 色婷婷综合网 | 欧美成人三级伦在线观看 | 亚洲国产精品久久人人爱 | 亚洲图片自拍偷拍区 | 久久午夜片 | av999| 亚洲国产影视 | 成人av在线资源 | 91精品国产综合久久久蜜臀 | 久久久久97 | 痴女扩张宫交脱垂重口小说 | 综合网色 | 97人人爱 | 女女同性女同一区二区三区九色 |