「PL/SQL」の編集履歴(バックアップ)一覧に戻る
PL/SQL - (2009/04/09 (木) 20:40:17) のソース
<p>PL/SQLの特徴</p>
<p> </p>
<p>・手続き型構造とSQLの統合</p>
<p> 非手続言語のSQLにIF文やLOOP文を使用して制御構造をもたせることができる。</p>
<p> PL/SQLでは、すべてのSQLコマンドが実行可能</p>
<p>・高いパフォーマンス</p>
<p> 複数のSQLを一つのブロックにまとめてOracleに投げることができるので効率がよく</p>
<p> ネットワーク通信量を抑えることができる。</p>
<p>・高い移植性</p>
<p> PL/SQLで作成されたアプリは、OSやプラットフォームに依存しない。</p>
<p> 他のプラットホームでも利用可能。</p>
<p> </p>
<p>PL/SQLを利用して作成可能なオブジェクト</p>
<p> </p>
<p>・プロシジャ</p>
<p> 特定のアクションを実行するサブプログラム</p>
<p> </p>
<p>・ファンクション</p>
<p> 値を計算するサブプログラム</p>
<p> </p>
<p>・パッケージ</p>
<p> サブプログラムをグループ化したオブジェクト</p>
<p> Oracle提供のパッケージはビルトインパッケージ</p>
<p> 例)DBMS_OUTPUT ・・・ テキストメッセージをDBバッファに送信</p>
<p> DBMS_OUTPUT.PUT_LINE('OK');</p>
<p> ※利用前に以下を実施</p>
<p> set serveroutput on</p>
<p> DBMS_STATS ・・・ 統計情報の取得(表示、変更)</p>
<p>・トリガー</p>
<p> 表、ビュー、スキーマ、データベースに対応ずけられ特定の操作、動作をしたときに暗黙的に</p>
<p> 実行されるプログラム。</p>
<p> 起動されるイベント</p>
<p> ①表、ビューに対するDML</p>
<p> ②DDL</p>
<p> ③ユーザのログイン、ログオフ</p>
<p> ④データベース起動、停止</p>
<p> ⑤データベースに発生したエラー</p>
<p> </p>
<p>構文</p>
<p>DECLARE</p>
<p> ---宣言部</p>
<p> Oracleのデータ型を利用</p>
<p> %TYPE(列の属性取得)</p>
<p> var dept.deptno%TYPE</p>
<p> %ROWTYPE(行取得)</p>
<p> d_row dept.%ROWTYPE</p>
<p>BEGIN</p>
<p> ---処理部</p>
<p>EXCEPTION</p>
<p> ---例外処理部</p>
<p>END;</p>
<p> </p>
<p>例)</p>
<p>set serveroutput on<br />
DECLARE<br />
var NUMBER;<br />
BEGIN<br />
var := 10;<br />
DBMS_OUTPUT.PUT_LINE(var);<br />
var := var + 12;<br />
DBMS_OUTPUT.PUT_LINE(var);<br />
END;<br />
/</p>