アットウィキロゴ

PL > SQL

PL/SQLの特徴

 

・手続き型構造とSQLの統合

 非手続言語のSQLにIF文やLOOP文を使用して制御構造をもたせることができる。

 PL/SQLでは、すべてのSQLコマンドが実行可能

・高いパフォーマンス

 複数のSQLを一つのブロックにまとめてOracleに投げることができるので効率がよく

 ネットワーク通信量を抑えることができる。

・高い移植性

 PL/SQLで作成されたアプリは、OSやプラットフォームに依存しない。

 他のプラットホームでも利用可能。

 

PL/SQLを利用して作成可能なオブジェクト

 

・プロシジャ

 特定のアクションを実行するサブプログラム

 

・ファンクション

 値を計算するサブプログラム

 

・パッケージ

 サブプログラムをグループ化したオブジェクト

 Oracle提供のパッケージはビルトインパッケージ

  例)DBMS_OUTPUT ・・・ テキストメッセージをDBバッファに送信

                   DBMS_OUTPUT.PUT_LINE('OK');

                                                  ※利用前に以下を実施

                    set serveroutput on

          DBMS_STATS  ・・・  統計情報の取得(表示、変更)

・トリガー

 表、ビュー、スキーマ、データベースに対応ずけられ特定の操作、動作をしたときに暗黙的に

 実行されるプログラム。

 起動されるイベント

 ①表、ビューに対するDML

 ②DDL

 ③ユーザのログイン、ログオフ

 ④データベース起動、停止

 ⑤データベースに発生したエラー

 

構文

DECLARE

  ---宣言部

        Oracleのデータ型を利用

        %TYPE(列の属性取得)

           var dept.deptno%TYPE

        %ROWTYPE(行取得)

          d_row dept.%ROWTYPE

BEGIN

   ---処理部

EXCEPTION

  ---例外処理部

END;

 

例)

set serveroutput on
DECLARE
    var NUMBER;
BEGIN
    var := 10;
    DBMS_OUTPUT.PUT_LINE(var);
    var  := var + 12;
    DBMS_OUTPUT.PUT_LINE(var);
END;
/

最終更新:2009年04月09日 20:40