小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


はじめてのOracle ストアドプロシージャ

はじめに

Oracleでストアドプロシージャを使ってみました。

やさしいOracle PL/SQL入門 (DB Magazine SELECTION)
一志 達也
翔泳社
売り上げランキング: 81,350

ストアドプロシージャの良いところ
  • RDBMSに1つずつSQL文を発行しなくて良くなる。
  • クライアントとサーバ間の通信負荷が少ない。
  • RDBMSに登録され、構文解析や機械語への変換が済んでいるので実行が速い。
ストアドプロシージャの新規作成

以下はhello worldというメッセージを画面に出力するだけのストアドプロシージャです。HOGEの部分はプロシージャの名前になります。
先頭でCREATE or REPLACEと指定しているため、すでにHOGEプロシージャが登録済みの場合、上書きされます。

CREATE or REPLACE
PROCEDURE HOGE AS
BEGIN

	DBMS_OUTPUT.PUT_LINE('hello world');

END HOGE;
/
ストアドプロシージャのコンパイルエラー

ストアドプロシージャのコンパイルエラーが発生すると、以下のエラーメッセージが出力されます。

警告: プロシージャが作成されましたが、コンパイル・エラーがあります。

エラーの内容を確認するには、以下のコマンドを実行します。

show error
ストアドプロシージャの実行

登録したストアドプロシージャを実行するには、以下のコマンドを実行します。

exec プロシージャ名
SQL> exec hoge
hello world

PL/SQLプロシージャが正常に完了しました。
ストアドプロシージャの削除

登録済みのストアドプロシージャを削除するには、以下のコマンドを実行します。

DROP PROCEDURE プロシージャ名;
SQL> DROP PROCEDURE hoge;

プロシージャが削除されました。