初心者向けの Oracle ストアド プロシージャに関する優れたリソースを探しています。Dev Shed ArticleとOracle Documentation サイトの記事を試しましたが、私のニーズを満たしていませんでした。1 つの形式の Oracle ドキュメント サイトには、Java の例のオーバーヘッドがありました。Dev Shed を試してみましたが、例を試してみると無効な SQL エラーが発生し続けます。これが私が実行しようとした基本的なものです:
CREATE OR REPLACE PROCEDURE skeleton
IS
BEGIN
NULL;
END;
EXECUTE skeleton;
私は初歩的な間違いを犯していますか、それとも記事の構文が古くなっていますか? 私は Oracle 10g と PL/SQL Developer を使用しています。
ありがとう!
解決:
@curtiskの提案に従って、もう少し複雑な例を試しました:
CREATE OR REPLACE PROCEDURE p_getdate
IS
BEGIN
dbms_output.put_line(TO_CHAR
(SYSDATE, 'MM-DD-YYYY HH24:MI:SS'));
END;
次のように実行しようとしたとき:
EXECUTE p_getdate
ORA-00900: 無効な SQL ステートメント エラーが発生しました。なぜこれが当てはまるのかを探して、このスレッドに出くわしました。電話してみることにしたので、次のことを試しました。
CALL p_getdate;
しかし、それもうまくいきませんでした。私はスレッドをもう少し読んで、懐疑的に試しました:
CALL p_getdate();
出来上がり、プロシージャが適切に呼び出されました。なぜこれが機能するのかについての答えはありませんが、機能するという事実により、プロジェクトを進めることができます. これがなぜなのか説明できる人がいるなら、私はこれについてもっと学びたいです.
助けてくれた@curtiskにもう一度感謝します!