簡単なOracleストアドプロシージャを作成しようとしています。
CREATE OR REPLACE PROCEDURE act.skeleton
IS
DECLARE
v_rowCount NUMBER;
BEGIN
SELECT COUNT(1) INTO v_rowCount FROM ex.emp;
DBMS_OUTPUT.PUT_LINE(v_rowCount);
END;
ただし、PL / SQL Developerのコマンド・ウィンドウで発行execute act.skeleton
してプロシージャを実行しようとすると、次のエラーメッセージが表示されます。
ORA-06550: line 1, column 11:
PLS-00905: object ACT.SKELETON is invalid
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
createprocedureステートメントなしでコードを実行しようとしましたが、出力が表示された状態で正常に実行されました。CREATE OR REPLACE PROCEDURE IS
&オプションの両方を試しましCREATE OR REPLACE PROCEDURE AS
たが、それでも同じエラーが発生します。
act.skeleton
これが、プロシージャを実行しようとしたときの認証やプロシージャの可視性、またはオブジェクトが無効になる原因と関係があるかどうかはわかりません。エラーの意味を調べたところ、通常はプロシージャのコンパイルエラーを指しているようですが、プロシージャ宣言なしでコードを実行できるため、宣言部分が原因であると推測されます。私はこれを引き起こしている原因を理解するのに十分なことを知りません、そして私は誰かがそれにもう少し光を当てて私を正しい方向に向けることができることを望んでいました
ありがとう、
Ashish
その他の情報:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production