2008-3-19 11:38
cemail
求助!form使用refcursor作查询报错
用refcursor作一个查询的界面,先做好包,然后通过向导
生成block,form编译都通过了,但是只要一运行,就报错,
如果换作table的方式作查询,就不会有问题。
以下是我的代码,请帮我看看,问题在哪里,谢谢
INFORMATION:
forms:
Forms [32 Bit] Version 9.0.2.9.0 (Production)
db:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
TABLE SQL:
CREATE TABLE scott.TEMP1
(
C1 LONG,
C2 VARCHAR2(10)
)
TABLESPACE USERS
TABLE DML:
insert into scott.temp1 values (1,'a');
insert into scott.temp1 values (2,'b');
FORM:
PACKAGE search IS
TYPE tmprec IS RECORD (
c1 scott.temp1.c1%TYPE,
c2 scott.temp1.c2%TYPE
);
-- Defines the Ref Cursor
TYPE tmpcur IS REF CURSOR RETURN search.tmprec;
-- Defines the procedure used for querying records
PROCEDURE tmpquery_refcur ( block_data IN OUT search.tmpcur);
END;
PACKAGE BODY search IS
PROCEDURE tmpquery_refcur ( block_data IN OUT search.tmpcur)
IS
BEGIN
OPEN block_data FOR
SELECT c1,c2
FROM scott.temp1;
END;
END;
block property:
source type: procedure
source name:search.tmpquery_refcur
argument: BLOCK_DATA
refcursor
search.tmprec
in out
错误提示:
FRM-40505:ORACLE ERROR :unable to perform query