はじめに
Oracleでストアドプロシージャを使ってみました。
やさしいOracle PL/SQL入門 (DB Magazine SELECTION)
posted with amazlet at 13.09.13
一志 達也
翔泳社
売り上げランキング: 81,350
翔泳社
売り上げランキング: 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; プロシージャが削除されました。