小さな星がほらひとつ

読者です 読者をやめる 読者になる 読者になる

【Oracle】ストアドプロシージャは外部ファイルにコーディングして登録できます

データベース データベース-Oracle
スポンサーリンク

ムチャクチャ単純なことなんですが、意外と「どうすればいいんだっけ」となってしまうのでメモ。

OraclePL/SQLでストアドプロシージャを登録する時、一番単純な方法としてはsqlplusからゴリゴリ書いていく感じになります。

# > sqlplus hogehoge/hogehoge@hogedb

SQL > CREATE OR REPLACE PROCEDURE echo_nowtime 
  2   IS
  3     now_time DATE;
  4   BEGIN
  5     SELECT CURRENT_DATE INTO INTO now_time FROM DUAL;
  6     DBMS_OUTPUT.PUT_LINE(now_time);
  7   END;
  8   /

  プロシージャが作成されました。


ちょっと複雑になるとコマンドラインから書くのは辛いものがありますよね。
できれば馴染みのエディタを使いたいところ。


そんな時どうするか。
答えはとっても単純。普通のSQL同様「hogehoge.sql」という具合にSQLファイルを作ってしまえばよいのです。

#hogehoge.sql
  CREATE OR REPLACE PROCEDURE echo_nowtime
  IS
    now_time DATE;
  BEGIN
    SELECT CURRENT_DATE INTO now_time FROM DUAL;
    DBMS_OUTPUT.PUT_LINE(now_time);
  END;
  /

で、あとは普通にsqlplusから登録します。

# > sqlplus hogehoge/hogehoge@hogedb

SQL > @hogehoge.sql
  プロシージャが作成されました。


ストアドと言ってもSQL文。
コマンドラインから実行できる構文は全て.sql形式のファイルにまとめて実行できます。

基本中の基本ですが、selectやupdateを単発でばかり使っているととついつい忘れがちになってしまいますね。
(私だけかも)

プロとしてのOracle PL/SQL入門 【第3版】(Oracle 12c、11g、10g対応) (Oracle現場主義)

プロとしてのOracle PL/SQL入門 【第3版】(Oracle 12c、11g、10g対応) (Oracle現場主義)

やさしいOracle PL/SQL入門 (DB Magazine SELECTION)

やさしいOracle PL/SQL入門 (DB Magazine SELECTION)

独習Oracle PL/SQL

独習Oracle PL/SQL