在oracle中执行返回数据集的存储过程并在dbms中输出 10
存储过程CREATEORREPLACEprocedureCHC_DATA.QUERYTEST(cur_resultoutsys_refcursor)ISBEGINopen...
存储过程
CREATE OR REPLACE procedure CHC_DATA.QUERYTEST
( cur_result out sys_refcursor)
IS
BEGIN
open cur_result FOR SELECT name,productID FROM M_PRODUCTZZR ORDER BY M_PRODUCT_ID;
END;
执行
这样写的话在la dtl%rowtype处报错啊 展开
CREATE OR REPLACE procedure CHC_DATA.QUERYTEST
( cur_result out sys_refcursor)
IS
BEGIN
open cur_result FOR SELECT name,productID FROM M_PRODUCTZZR ORDER BY M_PRODUCT_ID;
END;
执行
这样写的话在la dtl%rowtype处报错啊 展开
展开全部
具体错误是什么?对比sys_refcursor和cursor:
sys_refcursor 不能用open,close ,fetch 进行操作。不好学,难理解。
cursor 可以用 open,close ,fetch 操作,容易学,易懂
你的%ROWTYPE是通用cursor的定义方式,sys_refcursor是不适用的
建议用常规的游标调用方式
cursor dtl1 is
select……
la dtl1%rowtype
。。。
sys_refcursor 不能用open,close ,fetch 进行操作。不好学,难理解。
cursor 可以用 open,close ,fetch 操作,容易学,易懂
你的%ROWTYPE是通用cursor的定义方式,sys_refcursor是不适用的
建议用常规的游标调用方式
cursor dtl1 is
select……
la dtl1%rowtype
。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询