CREATE OR REPLACE PROCEDURE emp_test(cur IN OUT Sys_Refcursor,p_deptno IN emp.deptno%TYPE) AS BEGIN OPEN cur FOR SELECT empno,ename,job FROM emp WHERE deptno=p_deptno; END; 看到有什么不同没,存储过程的参数中要有一个Sys_Refcursor类型的参数,这个类型是系统自带,直接可以使用。
[其他解释]
我是用的这种出参游标啊。我的存储过程如下: create or replace PROCEDURE rpt_get_ams004 ( o_report_list OUT SYS_REFCURSOR, actor IN VARCHAR2, loc_type in VARCHAR2, province_code_id in NUMBER, field_office_no in VARCHAR2, loc_no in VARCHAR2 )AS
BEGIN OPEN o_report_list FOR select STAFF_ID from RPT_GET_AMS004_TABLE; END rpt_get_ams004; [其他解释] 我不用ODBC连接方式,改用OLEDB连接的方式就可以通过了。但是多个入参又报错了…… [其他解释] 自己答一下。安装了oracle客户端之后,再间ODBC数据源时,可以出现一个新的选项,就是安装的客户端的名字,用这个建的连接可以正常使用。 我的异常网推荐解决方案:oracle存储过程,http://www.myexception.cn/oracle-develop/177537.html