易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle存储过程的动态游标出错 - Oracle / 开发

create or replace procedure prc
AS
sqlstr varchar2(3000);
type resultcur is ref cursor;
begin
sqlstr := ‘select * from table名 where 条件’;
open resultcur for sqlstr; ---此处报错
......
end prc;

Compilation errors for PROCEDURE PRC
Error: PLS-00330: invalid use of type name or subtype name
Line: 148
Text: open resultcur for sqlstr;

请问大侠们,这是什么错误,怎么解决,请赐教!
SQL code:
-- 给个例子给你,自己看着办吧:

-----------------------------------------------------------------------------
create or replace package pkg_emp_info
as
type myrctype is ref cursor;
procedure emp_info_proc(v_empno in number default 0,v_ename in VARCHAR2, v_deptno number default 0,p_rc out myrctype);
end pkg_emp_info;
/

create or replace package body pkg_emp_info
as
procedure emp_info_proc(v_empno in number default 0,v_ename in VARCHAR2, v_deptno number default 0,p_rc out myrctype)
is
sqlstr VARCHAR2(2000);
begin

sqlstr :=
'SELECT * from emp e where 1=1';

if v_empno<>0 then
sqlstr := sqlstr||' and e.empno='||v_empno;
end if;

if v_ename<>'' then
sqlstr := sqlstr||' and e.ename like ''%||v_ename||%''';
end if;

if v_deptno<>0 then
sqlstr := sqlstr||' and e.deptno='||v_deptno;
end if;


相关问答:

Oracle离线访问---求助 - Oracle / 基础和管理

大家好,我现在把oracle服务器上面的原始文件,下载到本机了.我想在本机访问数据库怎么设置啊.是不是类似可以建立一个什么虚拟服务器来实现.请大家出出主意
引用
    大家好,我现在把oracle服务器上面 ......

SQL分页与Oracle分页的疑问? - Java / Web 开发

这里想了解下,关于SQL Server中分页和Oracle中分页;
平常写应用程序的时候,比如用的语言是Java,有个列表页面,需要对数据分页显示;
这里要分页难道不需要借助Java,而直接sql能知道分页吗,起码也要传个页码 ......

oracle 如何调用mssql存储过程 - Oracle / 高级技术

oracle 通过BDlink 连接到一台MS SQL,查询都可以,但是不知道如何在oracle通过DBLink调用MS SQL的存储过程,求解~谢谢~
引用
oracle 通过BDlink 连接到一台MS SQL,查询都可以,但是不知道如何在oracle通过DBLink调用M ......

oracle 存储过程改成 事物 怎么写啊 - Oracle / 开发

CREATE OR REPLACE PROCEDURE usp_refreshTopN
 IS
 BEGIN
 
--文档
INSERT INTO topnresource(resourceId,title,type,cover,brief,properUser,tag,clickAmount,createDate,topNCreateDate,o ......

高分求解Oracle数据库的灵异事件 - Oracle / 开发

今天遇到一个很诡异的问题。我在一张表中新增了一个字段。然后用如下脚本更新这个字段的值:
SQL code:

update ibp_fund_information_tab set yield = 7.4520 where fund_code = '040003' and info_date = ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号