在存儲過程中獲取了1個ref cursor,想在Sp裏處理條件,然後再返回這個ref cursor怎麽做?如:
procedure Query(piLanguage IN VARCHAR2,ret out returnCursor)
as
tempRet returnCursor;
begin
tempRet:=Query_All(piLanguage);//返回的是ref cursor,根據piLanguage讀取對應的view(返回的字段相同(別名)) open ret for
select *
from tempRet //我想在這裡加上限制的條件(-----怎麽做?------)
where ...
end ;
procedure Query(piLanguage IN VARCHAR2,ret out returnCursor)
as
tempRet returnCursor;
begin
tempRet:=Query_All(piLanguage);//返回的是ref cursor,根據piLanguage讀取對應的view(返回的字段相同(別名)) open ret for
select *
from tempRet //我想在這裡加上限制的條件(-----怎麽做?------)
where ...
end ;
解决方案 »
- ORA-07391
- ORA-00918: 未明确定义列
- 如何创建控制文件,我创建报错以下是ORACLE创建的脚本以及报错
- oracle+VB的数据库怎么做,没oracle基础!
- 自动编号时,如何使得年份不同时尾部编号重新从1开始?
- 如何在sql*plus下创建用户,表空间和表!再线等待!分不够可以在加!
- ORACLE统计问题请教。
- 请教sequence的问题
- 怎样加载Oracle8i的ManagerServer
- 150分请教,vb下如何将ADO记录集传给存储过程???
- 1000分征求oracle数据库对于海量数据的存储、查询解决方案
- 1000分征求oracle数据库对于海量数据的存储、查询解决方案
open ret for select * from tempRet where 1=0;
老是报错
Compilation errors for PACKAGE BODY USER1.MYPKGError: PLS-00201: 必须说明标识符 'TEMPRET'
Line: 24
Text: open ret for select * from tempRet where 1=0;.....
一点建议供参考,你可以定义一个带参数的游标来实现你的功能。
创建一个临时表
在这里迭代temRet并且把合适的结果插入这个临时表,然后再返回ret for select * from 临时表;