|
WRC
|
|
下記のようなストアドファンクションを作成し、ObjectBrowserにて、実行しようと REF CURSORの値を、-10 USER_NO 1 (実際にテーブルにあるコード) を設定したのですが、下記のエラーが表示されてしまいます。 このストアドファンクションは、Javaから実行しているのですが、Javaからだと 正常に実行できます。
はじめ、REF CURSORの値がわからなかったので、Javaでセットしている値のOracleTypes.CURSORの値を 調べてみると、-10となっていました。
セットしている値が間違っているのでしょうか?
よろしくお願いいたします。
------- エラー内容 ---------------------- 一般SQLエラーです。 ORA-06550:行2、列15: PLS-00201:識別子 CURSORを宣言してください。 ORA-06500:行2,列11: PL/SQL:Item ignored ORA-06550:行6,列3 PLS-00320:この式の型の宣言が不完全か、または形式が誤っています。 ORA-06550:行6,列3 PL/SQL:Statement ignored ORA-06550:行13、列35: PLS-00320:この式の型の宣言が不完全か、または形式が誤っています。 ORA-06550:行13,列3: PL/SQL:Statement ignored.
---------------- ストアドファンクション -------------------- CREATE OR REPLACE PACKAGE WEBLOGIC.CM_DBA IS TYPE R001_refcur IS REF CURSOR; FUNCTION R001(ip_user_cd MST_USERINFO.USER_CD%type) RETURN WEBLOGIC.CM_DBA.R001_refcur; END; /
CREATE OR REPLACE PACKAGE BODY WEBLOGIC.CM_DBA IS FUNCTION R001(ip_user_cd MST_USERINFO.USER_CD%type) RETURN WEBLOGIC.CM_DBA.R001_refcur IS v_R001_refcur WEBLOGIC.CM_DBA.R001_refcur; BEGIN OPEN v_R001_refcur FOR SELECT * FROM MST_USERINFO; RETURN (v_R001_refcur); exception when others then DBMS_OUTPUT.PUT_LINE( 'R001エラー終了'); raise; END R001; END; / |
|
|