前提条件
Oracleのインストールが完了しており、Oracle SQL Developerが使えること。
簡単なプログラムを実行する。
まずは、SQL Developer下記の構文をF5(スクリプトの実行)で実行しましょう。
1 |
SET SERVEROUTPUT ON |
「SERVEROUTPUT」とは、Oracleの環境変数の一つで、ONにすることでPL/SQLの結果を画面に出力させることができます。
Hello Worldプログラムの実行
1 2 3 |
BEGIN DBMS_OUTPUT.PUT_LINE('Hello World!'); END; |
Hello Worldと表示させるためには上記のプログラムを使います。
実行結果
下記のように、実行結果を出力させることができました。
BEGIN (処理内容) END文
処理内容を記述するブロックを表します。
DBMS_OUTPUT.PUT_LINE('任意の文字列')
これは、「任意の文字列」と、「改行」を出力するためにOracleより提供されているユーティリティになります。
終端には、「;」を付け忘れないようにしましょう。
「文の実行」(Ctrl + Enter)と「スクリプトの実行」(F5)の違い
下記の二つのボタンの違いは何でしょうか。特に、実行しても同じ結果が返ってくるように見えます。
その違いは、「SET ECHO OFF」(実行結果を画面に表示させない)文を使った際に、違いが現れました。
「文の実行」(Ctrl + Enter)
画面には何も表示されませんでした。
「スクリプトの実行」(F5)
画面に、実行結果が表示されました。
まだ断定ではないですが、おそらくですが、「文の実行」は一文一文実行していっていて、「スクリプトの実行」はまとめて実行していると思われます。
なので、スクリプトの実行は「ECHO OFF」が適用されない状態で表示されたのだと思われます。
使い分けとしては、SQLを一文だけ実行したい場合は、文の実行(Ctrl + Enter)を使い、スクリプトとしてまとめて実行したい場合はスクリプトの実行(F12)を使うようにしましょう。
PL/SQLについて
通常のアプリケーションからSQLを実行する場合に比べて基本的にはパフォーマンスに優れます。Oracleデータベースのプロセスにロジックが存在するためです。
ただ、アプリとデータベースでビジネスロジックがそれぞれ存在することになりますし、クラウド基盤の開発がメインのWeb系企業などではあまり採用されません。
SIerなど複雑なビジネスロジックと高いパフォーマンスがどちらも要求されいまだにオンプレミスが多いシステムでは採用されています。
この記事へのコメントはありません。