→PL/SQLはOracle's Procedural Language extension to SQLの訳
→SQL文で変数定義、条件処理(IF)、反復処理(LOOP,WHILE,FOR)等を使え、
オラクルに内蔵されているProcedure Languageである
→DEClARE文を利用して定義され、宣言文の使用は選択事項
→PL/SQL文はブロック構造になっていて、PL/SQL自身がコンパイルエンジンを持っている
■PL/SQLの長所
→PL/SQL文はBLOCK構造で多数のSQL文を纏めてQRACLE DBに送り処理するので、処理速度が早い
→より強力なプログラムを作成するために大BLOCKの中に小BLOCKを持てる
→VARIABLE,CONSTANT,CURSOR,EXCEPTIONを定義し、SQL文とProcedural文で使用する
→単純、複雑なデータ形の変数を宣言する。
→テーブルのデータ構造とコラム名に準じて動的変数を宣言できる
→EXCEPTION処理ルーティンを利用してOracle Server Errorを処理する
→ユーザー定義エラーを宣言し、EXCEPTION処理ルーティンで処理可能だ
■PL/SQL Block Structure
→PL/SQLはプログラムを論理的なブロックに分ける構造化されているブロック言語だ
→PL/SQLブロックは宣言部(オプション)、実行部(必須)、例外処理部(オプション)で構成され、
BEGINとENDキーワードは必ず記述する
→PL/SQLブロックで使用する便数はブロックに対して論理的に宣言し、使用出来る
・Declarative Section(宣言部)
→変数、定数、CURSOR、USER_DEFINE Exception宣言
・Executable Section(実行部)
→SQL、反復文、条件文実行
→実行部はBEGINで始まりENDで終了する
→実行文はプログラム内容が入る部分で必須
・Exception Handling Section(例外処理)
→例外に関する処理
→一般的にエラーを定義し処理する部分で選択事項
■PL/SQLプログラムの作成要領
→PL/SQLブロック内では一文が終了するたびにセミコロン「;」を使用する
→ENDの後にセミコロン「;」を使用し1ブロックの終わりを明記する
→PL/SQLブロックの作成はエディターでファイルに作成出でき、SQLプロンプトで直接作成できる
→SQL*PLUS環境ではDECLAREやBEGINのキーワードでPL/SQLブロックが始まる
→1行コメント:--
→複数行コメント:/* */
→PL/SQLブロックは行に「/」が有ると終了される
■PL/SQLブロックの形
・Aninymous Block
→名前の無いブロックを意味し、実行するためプログラム内で宣言され実行時には実行のため
PL/SQLエンジンに送られる
→先行コンパイラープログラムとSQL*Plusまたはサーバー管理者からブロックを内蔵できる。
・Procedure
→特定の作業を実行出来る名前のあるPL/SQLブロックで、パラメーターを受けられ、
繰り返し使用できる
→通常、連続実行または複雑なトランザクションを実行するPL/SQLブロックをDBへ
保存するために作る
・Function
→通常、計算を行い結果を返す為に関数を使用する
→大体の構成がプロシーザーと似ているが、INパラメーターのみ使用可能で、
必ず返す値のデータタイプをRETURN文に宣言しなければならない
またPL/SQLブロック内でRETURN文で必ず値を返す必要がある。
0 件のコメント:
コメントを投稿