表名:test_1
列名:num(number),name(varchar2),sex(char),major(varchar2)建立过程:
CREATE OR REPLACE PACKAGE pkg_test
AS
TYPE myrctype IS REF CURSOR;
END pkg_test;
/CREATE PROCEDURE PRO_SLE(INPUT1 in integer,INPUT2 in VARCHAR2,p_rc out pkg_test.myrctype)
AS
begin
open p_rc for 'SELECT * FROM TEST WHERE AA='||INPUT1||' AND instr(BB,'||INPUT2||')>0';
end;
/
执行过程:
declare
v_num TEST_1.num%type;
v_name test_1.name%type;
v_sex test_1.sex%type;
v_major test_1.major%type;
v_rc pkg_test.myrctype;
begin
PRO_SLE(1,'1',v_rc);
loop
fetch v_rc into v_num,v_name,v_sex,v_major;
exit when v_rc%notfound;
dbms_output.put_line(v_num||v_name||v_sex||v_major);
end loop;
end;
列名:num(number),name(varchar2),sex(char),major(varchar2)建立过程:
CREATE OR REPLACE PACKAGE pkg_test
AS
TYPE myrctype IS REF CURSOR;
END pkg_test;
/CREATE PROCEDURE PRO_SLE(INPUT1 in integer,INPUT2 in VARCHAR2,p_rc out pkg_test.myrctype)
AS
begin
open p_rc for 'SELECT * FROM TEST WHERE AA='||INPUT1||' AND instr(BB,'||INPUT2||')>0';
end;
/
执行过程:
declare
v_num TEST_1.num%type;
v_name test_1.name%type;
v_sex test_1.sex%type;
v_major test_1.major%type;
v_rc pkg_test.myrctype;
begin
PRO_SLE(1,'1',v_rc);
loop
fetch v_rc into v_num,v_name,v_sex,v_major;
exit when v_rc%notfound;
dbms_output.put_line(v_num||v_name||v_sex||v_major);
end loop;
end;
解决方案 »
- 读取二进制数据特别慢
- 求一高难度sql文
- WinXP下安装ORACLE9.0
- 归档日志为noarchive,怎么样改为archive?
- 如何将solaris系统下的oracle数据库移植到windows系统中?
- 如何整个数据库进行EXP,IMP? 当我用FULL=Y时会出现User did not exist
- 请问256M内存到底能不能安装ORACLE 9I?谢谢!!
- 这下玩出火了!!!ORACLE9I ManagementServer服务启不来了
- 请高手指教,Developer 2000的问题!
- 讨论-2:怎么理解“索引” 与 “约束条件”?他们的区别与联系是怎么样的?
- 如何在oracle 8.0.5下实现对多表并集的connect by查询?
- 关于基于Oracle的JSP开发时遇见的Session急剧增多问题
"{ ? = call PROC_TEST() }");
toesUp.registerOutParameter(1, Types.OTHER);
toesUp.execute();
ResultSet rs = (ResultSet) toesUp.getObject(1);java.sql.SQLException: 无效的列类型
-------------------------------------
我的所有代码:
CREATE OR REPLACE PACKAGE PKG_TEST
IS
TYPE T_CURSOR IS REF CURSOR; PROCEDURE PROC_TEST(C_CURSOR OUT T_CURSOR);
END;CREATE OR REPLACE PACKAGE BODY PKG_TEST
IS PROCEDURE PROC_TEST(C_CURSOR OUT T_CURSOR)
IS
V_CURSOR T_CURSOR;
BEGIN
OPEN V_CURSOR FOR
select * from T_USER;
C_CURSOR := V_CURSOR;
END;
END;---------------
还望各位有经验的高手指教一番,谢谢