以下的文章主要介绍的是Oracle 多层游标的嵌套,以及有对Oracle 游标的具体概念的描述,以下文章主要是对Oracle 多层游标的嵌套的实际操作步骤的描述,希望会给你带来一些帮助在此方面。
不是这样的,存储过程中不是非要用游标啊,他有输入和输出参数,只要在过程中做相应的处理就会返回输出参数。游标的作用主要是为了循环提取数据,游标分隐性游标和显性游标。
举个例子(显性游标):
CURSOR 游标名 IS SELECT 语句;
.....
WHILE 游标名% found LOOP
.....
END LOOP;
其中的SELECT 语句提取的是一列值,然后每次取一个进行下面的循环。
(隐性游标):
for 游标名 in (SELECT 语句)loop
.....
.....
END LOOP;
其中的SELECT 语句提取的也是一列值,然后每次取一个进行下面的循环。
Oracle 多层游标嵌套:一般的多层嵌套可以用几个表联合起来查询就能替代,但有时却不能代替,比如,第二个要查询的值是***个查出值后再进行like运算
- declare
- v_0 number;
- v_1 number;
- cursor c1 is select productordernumber from his_productorder@pro_crm where productid in (9000045516);
- cursor c2 is select cust_order_id from suf_cust_order_q_his where cust_order_num like v_0||'%';
- cursor c3 is select * from suf_work_order_q_his where cust_order_id=v_1;
- begin
- for i in c1 loop
- v_0:=i.productordernumber;
- for j in c2 loop
- v_1:=j.cust_order_id;
- for k in c3 loop
- dbms_output.put_line(k.work_order_id||' '||k.status);
- end loop;
- end loop;
- end loop;
以上的相关内容就是对Oracle 多层游标嵌套的介绍,望你能有所收获。