この章では、TimesTenでサポートされているPL/SQL言語要素および機能をリストとして表示します。(Oracle Databaseマニュアルでは、これらの機能の多くは、『Oracle Database PL/SQL言語リファレンス』のPL/SQLの言語要素に関する項で説明されています。)
これらはTimesTenではサポートされていませんので注意してください。
機能: 自律型トランザクション、データベース・リンク(dblink)、結果キャッシュ、セーブポイント、トリガー、ユーザー定義オブジェクトまたはコレクション
TimesTenはトリガーをサポートしていませんが、XLAを使用して同様の機能を実現できます。『Oracle TimesTen In-Memory Database C開発者ガイド』のXLAおよびTimesTenイベント管理に関する説明を参照してください。
文: CREATE LIBRARY
、CREATE TYPE
、LOCK TABLE
SAVEPOINT
、SET TRANSACTION
プラグマ: AUTONOMOUS_TRANSACTIONS
、RESTRICT_REFERENCES
、SERIALLY_REUSABLE
SYSTIMESTAMP
: 戻り型TIMESTAMP WITH TIME ZONE
はサポートされていないため、TimesTenではサポートできません。別の方法として、動的SQLを使用してSELECT tt_sysdate FROM dual
を次のように使用できます。
declare ts timestamp; begin execute immediate 'select tt_sysdate from dual' into ts; -- ts has millisecond resolution end;
表8-1 TimesTenにおけるPL/SQL言語要素および機能のサポート
機能名 | 説明 | 例/コメント |
---|---|---|
|
PL/SQLプロシージャ、ファンクション、またはパッケージを再コンパイルします。 |
構文およびセマンティクスはOracle Databaseの場合と同じです。 これらの文の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』のSQL文に関する説明を参照してください。 |
|
セッション・パラメータを動的に変更します。 |
TimesTenでは、「PL/SQL接続属性」で説明されているように、 TimesTenにおけるこの文の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のALTER SESSIONに関する説明を参照してください。 |
代入文 |
変数、パラメータまたは要素の現在の値を設定します。 |
「PL/SQLの変数および定数」を参照してください。 |
ブロック宣言 |
ブロック(PL/SQLソース・プログラムの基本単位)を宣言します。 |
「PL/SQLブロック」を参照してください。 |
|
複数行を選択します。 |
PL/SQLで |
|
SQL内からルーチンを実行します。 |
TimesTenでは、Oracle Database、またはTimesTen組込みプロシージャと同様に、 |
|
式を評価し、複数の値と比較して、比較結果がTRUEの場合にアクションを実行します。 |
「PL/SQL制御構造」を参照してください。 |
|
カーソルまたはカーソル変数をクローズします。 |
(特に)例2-17「カーソルを使用した従業員情報の取得」を参照してください。 |
コレクション定義 |
すべて同じ型の要素の順序付きグループであるコレクションを指定します。 |
たとえば、連想配列(索引付き表またはPL/SQL表)、ネストした表、VARRAYなどがあります。 TimesTenは、PL/SQLプログラムのこれら3つのコレクション型のすべてをサポートしますが、連想配列だけは、PL/SQLおよび他の言語(OCIまたはJDBC)で記述されたアプリケーション間のバウンド・パラメータとしてサポートされます。 「PL/SQLでのコレクションの使用」を参照してください。 |
コレクション・メソッド |
コレクションに対して動作し、ドット表記法を使用してコールされる組込みサブプログラム。 |
『Oracle Database PL/SQL言語リファレンス』のコレクション・メソッドに関する説明を参照してください。コレクション・メソッドには、 |
コメント |
説明のためにコードに含められるテキスト。 |
1行コメントと複数行コメントがサポートされています。 |
|
現在のトランザクションを終了し、トランザクションで加えられたすべての変更を確定します。 |
『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のCOMMITに関する説明を参照してください。 重要: TimesTenでは、 |
接続属性 |
Oracle Databaseの初期化パラメータに相当します。 |
「PL/SQL接続属性」を参照してください。これらの接続属性の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のPL/SQL初期接続属性およびPL/SQL一般接続属性に関する説明も参照してください。 |
定数と変数の宣言 |
PL/SQLコードで使用する定数と変数を、PL/SQLブロック、サブプログラムまたはパッケージの宣言部で指定します。 |
「PL/SQLの変数および定数」を参照してください。 |
|
ループの現在の反復を終了し、制御を次の反復に渡します。 |
「CONTINUE文」を参照してください。 |
|
PL/SQLファンクションを作成します。 |
「PL/SQLのプロシージャおよびファンクション」を参照してください。また、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のCREATE FUNCTIONに関する説明も参照してください。 TimesTenで |
|
これらの文を同時に使用して、PL/SQLパッケージ定義およびパッケージ本体を作成します。 |
「PL/SQLパッケージ」を参照してください。また、『Oracle TimesTen In-Memory Database SQLリファレンス』のCREATE PACKAGEおよびCREATE PACKAGE BODYに関する説明も参照してください。 TimesTenで |
|
PL/SQLプロシージャを作成します。 |
「PL/SQLのプロシージャおよびファンクション」を参照してください。また、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のCREATE PROCEDUREに関する説明も参照してください。 ノート: TimesTenでは、 |
|
セッション・タイムゾーンの現在の日付を戻します。 |
TimesTenでは、UTC(世界標準時)で現在の日時を戻します。TimesTenは、ローカル・タイムゾーンをサポートしていません。 |
カーソル属性 |
カーソルまたはカーソル変数に追加され、データ操作文の実行に関する有用な情報を戻します。 |
明示カーソルとカーソル変数には、 暗黙カーソル(SQL)には、さらに 「%ROWCOUNT属性および%NOTFOUND属性の使用」および「SQL%BULK_ROWCOUNTでのFORALLの使用」を参照してください。また、『Oracle Database PL/SQL言語リファレンス』の名前付きカーソル属性に関する説明も参照してください。 |
カーソル宣言 |
カーソルを宣言します。複数行の問合せを実行するために、TimesTenによって、処理情報が格納される名前のない作業領域がオープンされます。カーソルを使用して、作業領域に名前を付けたり、情報にアクセスしたり、行を個別に処理できます。 |
「PL/SQLプログラムでのカーソルの使用」を参照してください。 |
カーソル変数(REF CURSOR) |
SQL結果セット上のカーソルへのハンドルとして機能します。 |
TimesTenでは、 「PL/SQL REF CURSOR」を参照してください。 |
|
表から行を削除します。 |
『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のDELETEに関する説明を参照してください。 |
|
指定されたとおりにPL/SQLプロシージャ、ファンクション、またはパッケージを削除します。 |
構文およびセマンティクスはOracle Databaseの場合と同じです。 これらの文の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のSQL文に関する説明を参照してください。 |
エラー・レポート |
(説明なし) |
TimesTenアプリケーションでは、エラーのレポートにTimesTenエラー・コードではなくOracle Databaseエラー・コードが使用されます。エラー・コードを含むメッセージは、TimesTenエラー・メッセージまたはOracle Databaseエラー・メッセージです。 |
|
ユーザー定義の例外をTimesTenエラー番号に関連付けます。 |
『Oracle Database PL/SQL言語リファレンス』のEXCEPTION_INITプラグマに関する説明を参照してください。 |
例外定義 |
実行時エラーまたは警告状態である例外を指定します。事前定義の例外とユーザー定義の例外があります。 |
事前定義の条件は暗黙的に発生します。ユーザー定義の例外は、 第4章「エラーと例外の処理」を参照してください。 |
|
動的SQL文を作成して実行します。 |
TimesTenは、これをOracle Databaseと同じようにサポートし、SQL DMLまたはDDL文を実行したり、PL/SQL無名ブロックを実行したり、PL/SQLストアド・プロシージャまたはファンクションをコールします。「PL/SQLでの動的SQL(EXECUTE IMMEDIATE文)」を参照してください。 TimesTenでは、 |
|
ループを終了し、制御をループの最後に渡します。 |
(特に)例6-2「ALTER SESSIONを使用した属性設定の変更」を参照してください。 |
式定義 |
オペランド(変数、定数、リテラル、演算子など)と演算子を組み合せた式を指定します。最も単純な式は1つの変数です。 |
『Oracle Database PL/SQL言語リファレンス』の式に関する説明を参照してください。 |
|
複数行の問合せの結果セットからデータ行を取得します。 |
(特に)例2-17「カーソルを使用した従業員情報の取得」を参照してください。 |
|
入力コレクションをSQLエンジンに送信する前にバルク・バインドします。 |
「FORALL操作およびBULK COLLECT操作」を参照してください。 |
ファンクションの宣言と定義 |
PL/SQLブロックまたはパッケージで宣言および定義できる、単一値を戻すサブプログラムまたはストアド・プログラムを指定します。 |
TimesTenでは、ストアド・ファンクションまたはプロシージャを無名ブロックで、または TimesTen Classicでは、TimesTen SQLで 後述の「プロシージャの宣言と定義」も参照してください。 |
|
文ラベルまたはブロック・ラベルに無条件に分岐します。 |
『Oracle Database PL/SQL言語リファレンス』のGOTO文に関する説明を参照してください。 |
|
関連付けられているブール式の値に応じて、一連の文を実行するかスキップします。 |
「条件制御」を参照してください。 |
|
サブプログラムのコールをインライン化するかどうかを指定します。 |
『Oracle Database PL/SQL言語リファレンス』のINLINEプラグマに関する説明を参照してください。 |
|
1つ以上のデータ行を表に挿入します。 |
「INSERT文を使用する例」を参照してください。また、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のINSERTに関する説明も参照してください。 |
リテラル宣言 |
数値、文字列、またはブール値を指定します。 |
例: 数値リテラル: 135 文字列リテラル: 'TimesTen' |
|
一連の文を複数回実行します。たとえば、 |
例2-8「WHILEループの使用」を参照してください。また、『Oracle Database PL/SQL言語リファレンス』の基本LOOP文に関する説明も参照してください。 |
|
1つ以上のソースから行を選択して、更新したりターゲット表に挿入できます。 |
『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のMERGEに関する説明を参照してください。 |
ネイティブ動的SQLの実行 |
|
上記の |
|
これは、操作が行われない文です。アクションは実行されずに、制御は次の文に渡されます。 |
『Oracle Database PL/SQL言語リファレンス』のNULL文に関する説明を参照してください。 |
|
カーソルに関連付けられた問合せを実行します。問合せを処理するためのデータベース・リソースを割り当て、結果セットを識別します。 |
例2-17「カーソルを使用した従業員情報の取得」を参照してください。 |
|
カーソル変数(REF CURSOR)に関連付けられた |
Oracle Database PL/SQL言語リファレンスのOPEN FOR文を参照してください。 |
パッケージ宣言 |
関連するPL/SQLの型、項目およびサブプログラムを論理的にグループ化するデータベース・オブジェクトであるパッケージを指定します。 |
TimesTen Classicでは、SQL文の 「PL/SQLパッケージ」を参照してください。 |
プロシージャの宣言と定義 |
PL/SQLブロックまたはパッケージで宣言および定義できる、特定のアクションを実行するサブプログラムまたはストアド・プログラムを指定します。 |
TimesTenでは、ストアド・プロシージャまたはファンクションを無名ブロックで、または TimesTen Classicでは、TimesTen SQLで 前述の「ファンクションの宣言と定義」も参照してください。 |
|
PL/SQLブロックまたはサブプログラムの通常の実行を停止し、制御を例外ハンドラに渡します。 |
「RAISE文の使用」を参照してください。 |
レコード定義 |
データベース行と同様に様々な型のデータ値が格納される複合変数であるレコードを定義します。 |
「PL/SQLでのレコードの使用」を参照してください。 |
|
サブプログラムの実行を即座に完了し、制御をコール元に戻します。実行は、サブプログラムのコール後の文から再開します。 |
『Oracle Database PL/SQL言語リファレンス』のRETURN文に関する説明を参照してください。 |
|
この句が属している文によって戻された値を格納する変数を指定します。 |
「RETURNING INTO句」および「RETURNING INTOを使用する例」を参照してください。 |
|
現在のトランザクション中に加えられたデータベースの変更を元に戻します。 |
『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のROLLBACKに関する説明を参照してください。 重要: TimesTenでは、 |
|
データベース表内の行を表すレコード型を指定します。 |
例2-2「代入演算子を使用した変数への値の代入」を参照してください。 |
|
表の1行から値を取得し( |
例2-3「SELECT INTOを使用した変数への値の代入」を参照してください。また、Oracle Database PL/SQL言語リファレンスの問合せ結果セットの処理も参照してください。 |
|
|
『Oracle TimesTen In-Memory Database SQLリファレンス』のSOUNDEXに関する説明を参照してください。 |
SQLカーソル |
|
「PL/SQLプログラムでのカーソルの使用」を参照してください。 |
|
直前に発生した例外の番号コードを戻します。 |
エラー条件が同じ場合、組込みファンクションの このことについては、「TimesTenエラー・メッセージおよびSQLコード」でも説明しています。 |
|
error-number引数に関連付けられているエラー・メッセージを戻します。 |
エラー条件が同じ場合、組込みファンクションの このことについては、「TimesTenエラー・メッセージおよびSQLコード」でも説明しています。 |
提供パッケージ |
これらは、データベースに提供されるPL/SQLパッケージです。 |
TimesTenには、Oracle Database PL/SQLの提供パッケージのサブセットが用意されています。 第7章「TimesTenが提供するPL/SQLパッケージ」を参照してください。 |
システム表およびシステム・ビュー |
これらは、管理目的でデータベースに提供される表およびビューです。 |
TimesTenでは、Oracle Databaseシステム表およびシステム・ビューのサブセットがサポートされています。 『Oracle TimesTen In-Memory Databaseシステム表およびビュー・リファレンス』のシステム表およびビューを参照してください。 |
ライブラリ・キャッシュのパフォーマンスおよびアクティビティについての統計情報を戻します。 |
『Oracle TimesTen In-Memory Databaseリファレンス』のttPLSQLMemoryStatsに関する説明を参照してください。 ノート: Oracle Databaseでは、 |
|
|
フィールド、レコード、ネストした表、データベース列または変数のデータ型をハードコードするのではなく、宣言で使用できます。このことは、特にデータベース列を参照する変数、フィールドおよびパラメータを宣言する場合に役立ちます。 |
「PL/SQLの変数および定数」を参照してください。 |
|
表のすべての行または検索条件を満たす行の1つ以上の列の値を更新します。 |
『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のUPDATEに関する説明を参照してください。 |