Oracle TimesTenでのPL/SQLサポートはTimesTenデータベース内でシームレスに統合されており、サポートされるすべてのTimesTenプログラミング・インタフェースから使用できます。TimesTen PL/SQLでは、Oracle Databaseでサポートされるものと同じ言語構文とセマンティクスが使用されます。このリリースでは、パフォーマンス重視のOLTPアプリケーションを対象としたPL/SQLパッケージのサブセットを使用できます。サポートされるPL/SQL機能の詳細は、『Oracle TimesTen In-Memory Database PL/SQL開発者ガイド』を参照してください。
次のPL/SQLサンプル・プロシージャは、quickstart/sample_code/plsqlディレクトリにあります。
プロシージャ | 説明 |
basics.sql | このPL/SQLスクリプトは、ttIsqlを介したTimesTen PL/SQLの機能について、その概要を示します。
表示される機能は、次のとおりです。
このPL/SQLスクリプトは、ttIsqlから実行する必要があります。 |
case_procedures.sql | このPL/SQLブロックは、CASE文およびCASE式の使用方法を示します。PL/SQL CASE文には、単純なCASE文および検索CASE文が含まれます。CASE式には、単純なCASE式、検索CASE式、および構文上の短縮形としてCOALESCEとNULLIFの2つが含まれています。
比較のために、一連のIF文またはSQL DECODE関数など、従来の言語要素を使用する各ストアド・プロシージャも実装されています。 このPL/SQLブロックはttIsqlから実行する必要があります。また、出力は、DBMS_OUTPUTを使用してコンソールに表示されます。 |
cursor_loop.sql | このPL/SQLブロックでは、CURSORとLOOPを使用して月給(給与とコミッションの合計)が2000ドルを超えるすべての従業員を検索して、条件付きで挿入します。%ROWTYPE型の変数を使用して行がフェッチされます。EXITを使用してLOOPを終了します。
このプログラムはttIsqlまたはTimesTen APIから実行できます。また、出力はTEMP表に挿入されます。このプログラムを実行する前後にTEMP表の値を確認してください。 |
cursor_loop_types.sql | このPL/SQLブロックでは、%TYPEデータ型を使用してデータベース列と同じ型の変数を宣言する方法が示されています。この型はCURSORで使用され、フェッチされたデータで単純な演算が実行されます。WHEN %NOTFOUNDを使用してLOOPを終了します。
このプログラムはttIsqlまたはTimesTen APIから実行できます。また、出力はTEMP表に挿入されます。このプログラムを実行する前後にTEMP表の値を確認してください。 |
cursor_loop_types2.sql | このPL/SQLブロックでは、CURSORに基づくFOR-LOOPの使用方法が示されています。CURSORの結果セットを使用してLOOPを終了します。
このプログラムはttIsqlまたはTimesTen APIから実行できます。また、出力はTEMP表に挿入されます。このプログラムを実行する前後にTEMP表の値を確認してください。 |
cursor_update_logic.sql | このプログラムでは、ACTION表に格納されている指示に基づいてACCOUNT表が変更されます。ACTION表の各行には、処理対象の口座番号、実行されるアクション(挿入、更新または削除)、口座の更新後の金額およびタイム・タグが含まれます。
挿入時にアカウントがすでに存在する場合は、挿入ではなく更新が実行されます。更新時にアカウントが存在しない場合は、挿入によって作成されます。削除時に行が存在しない場合、アクションは実行されません。 このプログラムはttIsqlまたはTimesTen APIから実行できます。また、出力はACCOUNTS表およびACTION表に送られます。このプログラムを実行する前後に、ACTION表およびACCOUNTS表の値を確認してください。 |
inner_loop_block.sql | このPL/SQLブロックでは、ブロックの構造と有効範囲の規則が示されています。外側のブロックでは、XとCOUNTERという2つの変数が宣言され、4回ループ処理が行われます。このループ内にサブブロックがあり、ここでもXという変数が宣言されています。TEMP表に挿入される値によって、この2つの変数Xが実際に異なることが示されます。 このプログラムはttIsqlまたはTimesTen APIから実行できます。また、出力はTEMP表に挿入されます。このプログラムを実行する前後にTEMP表の値を確認してください。 |
loop_insert.sql | このPL/SQLサンプル・ブロックでは、単純なFORループを使用して表に10行挿入されます。ループ索引の値、カウンタ変数の値、および2つ文字列のうちいずれかが挿入されます。挿入される文字列は、ループ索引の値に応じて決まります。
このプログラムはttIsqlまたはTimesTen APIから実行できます。また、出力はTEMP表に挿入されます。このプログラムを実行する前後にTEMP表の値を確認してください。 |
select_exception.sql | このサンプル・ブロックでは、PL/SQLの例外処理の例が示されます。
RATIO表のX列とY列の比率が計算されます。比率が0.72より大きい場合は、ブロックによってその比率がRESULT_TABLEに挿入されます。それ以外の場合は-1が挿入されます。分母が0(ゼロ)の場合はZERO_DIVIDEが呼び出され、0(ゼロ)がRESULT_TABLEに挿入されます。 このプログラムはttIsqlまたはTimesTen APIから実行できます。また、出力はRATIO表に挿入されます。このプログラムを実行する前後にRATIO表の値を確認してください。 |
update_inventory.sql | このPL/SQLブロックでは、テニス・ラケットの注文が処理されます。在庫に1本以上のラケットが残っている場合にのみ、在庫のラケットの数量を減らします。
このプログラムはttIsqlまたはTimesTen APIから実行できます。また、出力はINVENTORY2表およびPURCHASE_RECORD表に送られます。このプログラムを実行する前後に、INVENTORY2表およびPURCHASE_RECORD表の値を確認してください。 |
インストールされているプラットフォームでサンプル・プログラムをコンパイルして実行する方法については、「コンパイルおよび実行」を参照してください。
TimesTenでのPL/SQLサポートの詳細は『Oracle TimesTen In-Memory Database PL/SQL開発者ガイド』を参照してください。
ホーム | サイト・マップ | 連絡先 | Copyright © 2009 |