/*在pakcage下先建包*/
CREATE OR REPLACE PACKAGE PRODUCTIDPACKAGE AS
TYPE IDCURSOR IS REF CURSOR;
END PRODUCTIDPACKAGE;/*在procedure中建存储过程*/CREATE OR REPLACE PROCEDURE PROC_ONSHERVESSINGLEPRODUCT(CUR_PRODUCT OUT PRODUCTIDPACKAGE.IDCURSOR) IS
/*cur NUMBER;*/
BEGIN
OPEN CUR_PRODUCT FOR
select id from a;
---循环1
/*LOOP
fetch CUR_PRODUCT into cur;
exit when CUR_PRODUCT%notfound;
END LOOP;*/
--循环2
/* FOR PRODUCTRECORD IN CUR_PRODUCT LOOP
--操作
END LOOP;*/END PROC_ONSHERVESSINGLEPRODUCT;以上写法,如果在注释不放开的情况下在pl/sql可通过但一旦放开循环2 则pl/sql下不会通过,提示 “FOR PRODUCTRECORD IN CUR_PRODUCT LOOP”中的 cur_product 未定义放开循环1,pl/sql会通过,但是在java中接结果集的时候会报“提取违反顺序”,求大神们帮个忙!!!!
CREATE OR REPLACE PACKAGE PRODUCTIDPACKAGE AS
TYPE IDCURSOR IS REF CURSOR;
END PRODUCTIDPACKAGE;/*在procedure中建存储过程*/CREATE OR REPLACE PROCEDURE PROC_ONSHERVESSINGLEPRODUCT(CUR_PRODUCT OUT PRODUCTIDPACKAGE.IDCURSOR) IS
/*cur NUMBER;*/
BEGIN
OPEN CUR_PRODUCT FOR
select id from a;
---循环1
/*LOOP
fetch CUR_PRODUCT into cur;
exit when CUR_PRODUCT%notfound;
END LOOP;*/
--循环2
/* FOR PRODUCTRECORD IN CUR_PRODUCT LOOP
--操作
END LOOP;*/END PROC_ONSHERVESSINGLEPRODUCT;以上写法,如果在注释不放开的情况下在pl/sql可通过但一旦放开循环2 则pl/sql下不会通过,提示 “FOR PRODUCTRECORD IN CUR_PRODUCT LOOP”中的 cur_product 未定义放开循环1,pl/sql会通过,但是在java中接结果集的时候会报“提取违反顺序”,求大神们帮个忙!!!!
再次打开光标:OPEN CUR_PRODUCT FOR select id from a;
我要吧取出的数据作为条件,做些别的操作,同时将这些数据返回给java,在java里调用webservice服务