主コンテンツへ
Oracle® TimesTen In-Memory Database PL/SQL開発者ガイド
リリース18.1
E98629-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

8 TimesTen PL/SQLサポート: リファレンスの概要

この章では、TimesTenでサポートされているPL/SQL言語要素および機能をリストとして表示します。(Oracle Databaseマニュアルでは、これらの機能の多くは、『Oracle Database PL/SQL言語リファレンス』のPL/SQLの言語要素に関する項で説明されています。)

これらはTimesTenではサポートされていませんので注意してください。

表8-1 TimesTenにおけるPL/SQL言語要素および機能のサポート

機能名 説明 例/コメント

ALTER {PROCEDURE| FUNCTION | PACKAGE}

PL/SQLプロシージャ、ファンクション、またはパッケージを再コンパイルします。

構文およびセマンティクスはOracle Databaseの場合と同じです。

これらの文の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』のSQL文に関する説明を参照してください。

ALTER SESSION

セッション・パラメータを動的に変更します。

TimesTenでは、「PL/SQL接続属性」で説明されているように、ALTER SESSIONを使用して、一部のPL/SQL接続属性を設定できます。

TimesTenにおけるこの文の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のALTER SESSIONに関する説明を参照してください。

代入文

変数、パラメータまたは要素の現在の値を設定します。

「PL/SQLの変数および定数」を参照してください。

ブロック宣言

ブロック(PL/SQLソース・プログラムの基本単位)を宣言します。

「PL/SQLブロック」を参照してください。

BULK COLLECT

複数行を選択します。

PL/SQLでSELECT文とともにこの句を使用すると、カーソルを使用せずに行を取得できます。「FORALL操作およびBULK COLLECT操作」および「FORALLおよびBULK COLLECTを使用する例」を参照してください。

CALL

SQL内からルーチンを実行します。

TimesTenでは、Oracle Database、またはTimesTen組込みプロシージャと同様に、CALL文を使用してPL/SQLのストアド・プロシージャとファンクションを実行します。(TimesTen組込みプロシージャでは、CALLがPL/SQL内にある場合、EXECUTE IMMEDIATE文を使用します。)プロシージャおよびファンクションの実行および例5-19「EXECUTE IMMEDIATEを使用したttConfigurationのコール」を参照してください。

CASE

式を評価し、複数の値と比較して、比較結果がTRUEの場合にアクションを実行します。

「PL/SQL制御構造」を参照してください。

CLOSE

カーソルまたはカーソル変数をクローズします。

(特に)例2-17「カーソルを使用した従業員情報の取得」を参照してください。

コレクション定義

すべて同じ型の要素の順序付きグループであるコレクションを指定します。

たとえば、連想配列(索引付き表またはPL/SQL表)、ネストした表、VARRAYなどがあります。

TimesTenは、PL/SQLプログラムのこれら3つのコレクション型のすべてをサポートしますが、連想配列だけは、PL/SQLおよび他の言語(OCIまたはJDBC)で記述されたアプリケーション間のバウンド・パラメータとしてサポートされます。

「PL/SQLでのコレクションの使用」を参照してください。

コレクション・メソッド

コレクションに対して動作し、ドット表記法を使用してコールされる組込みサブプログラム。

『Oracle Database PL/SQL言語リファレンス』のコレクション・メソッドに関する説明を参照してください。コレクション・メソッドには、COUNTDELETEEXISTSEXTENDFIRSTLASTLIMITNEXTPRIORTRIMなどがあります。

コメント

説明のためにコードに含められるテキスト。

1行コメントと複数行コメントがサポートされています。

COMMIT

現在のトランザクションを終了し、トランザクションで加えられたすべての変更を確定します。

『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のCOMMITに関する説明を参照してください。

重要: TimesTenでは、COMMIT文およびROLLBACK文によってすべてのカーソルがクローズされます。

接続属性

Oracle Databaseの初期化パラメータに相当します。

「PL/SQL接続属性」を参照してください。これらの接続属性の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のPL/SQL初期接続属性およびPL/SQL一般接続属性に関する説明も参照してください。

定数と変数の宣言

PL/SQLコードで使用する定数と変数を、PL/SQLブロック、サブプログラムまたはパッケージの宣言部で指定します。

「PL/SQLの変数および定数」を参照してください。

CONTINUE

ループの現在の反復を終了し、制御を次の反復に渡します。

「CONTINUE文」を参照してください。

CREATE FUNCTION

PL/SQLファンクションを作成します。

CREATE FUNCTIONはTimesTen Classicでサポートされていますが、AS LANGUAGEAS EXTERNALおよびPIPELINED句はサポートされていません。ACCESSIBLE BY句がサポートされています。

「PL/SQLのプロシージャおよびファンクション」を参照してください。また、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のCREATE FUNCTIONに関する説明も参照してください。

TimesTenでDBMSSTDX.SQLを実行する必要はありません。

CREATE PACKAGE

CREATE PACKAGE BODY

これらの文を同時に使用して、PL/SQLパッケージ定義およびパッケージ本体を作成します。

CREATE PACKAGEはTimesTen Classicでサポートされています。構文およびセマンティクスはOracle Databaseの場合と同じです。ACCESSIBLE BY句がサポートされています。

「PL/SQLパッケージ」を参照してください。また、『Oracle TimesTen In-Memory Database SQLリファレンス』のCREATE PACKAGEおよびCREATE PACKAGE BODYに関する説明も参照してください。

TimesTenでDBMSSTDX.SQLを実行する必要はありません。

CREATE PROCEDURE

PL/SQLプロシージャを作成します。

CREATE PROCEDUREはTimesTen Classicでサポートされていますが、AS LANGUAGEおよびAS EXTERNAL句はサポートされていません。ACCESSIBLE BY句がサポートされています。

「PL/SQLのプロシージャおよびファンクション」を参照してください。また、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のCREATE PROCEDUREに関する説明も参照してください。

ノート: TimesTenでは、DBMSSTDX.SQLを実行する必要はありません。

CURRENT_DATEファンクション

セッション・タイムゾーンの現在の日付を戻します。

TimesTenでは、UTC(世界標準時)で現在の日時を戻します。TimesTenは、ローカル・タイムゾーンをサポートしていません。

カーソル属性

カーソルまたはカーソル変数に追加され、データ操作文の実行に関する有用な情報を戻します。

明示カーソルとカーソル変数には、%FOUND%ISOPEN%NOTFOUNDおよび%ROWCOUNTという4つの属性があります。

暗黙カーソル(SQL)には、さらに%BULK_ROWCOUNTおよび%BULK_EXCEPTIONSという属性があります。

「%ROWCOUNT属性および%NOTFOUND属性の使用」および「SQL%BULK_ROWCOUNTでのFORALLの使用」を参照してください。また、『Oracle Database PL/SQL言語リファレンス』の名前付きカーソル属性に関する説明も参照してください。

カーソル宣言

カーソルを宣言します。複数行の問合せを実行するために、TimesTenによって、処理情報が格納される名前のない作業領域がオープンされます。カーソルを使用して、作業領域に名前を付けたり、情報にアクセスしたり、行を個別に処理できます。

「PL/SQLプログラムでのカーソルの使用」を参照してください。

カーソル変数(REF CURSOR)

SQL結果セット上のカーソルへのハンドルとして機能します。

TimesTenでは、OUT REF CURSORは1文に1つのみがサポートされています。

「PL/SQL REF CURSOR」を参照してください。

DELETE

表から行を削除します。

『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のDELETEに関する説明を参照してください。

DROP { PROCEDURE | FUNCTION | PACKAGE }

指定されたとおりにPL/SQLプロシージャ、ファンクション、またはパッケージを削除します。

構文およびセマンティクスはOracle Databaseの場合と同じです。

これらの文の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のSQL文に関する説明を参照してください。

エラー・レポート

(説明なし)

TimesTenアプリケーションでは、エラーのレポートにTimesTenエラー・コードではなくOracle Databaseエラー・コードが使用されます。エラー・コードを含むメッセージは、TimesTenエラー・メッセージまたはOracle Databaseエラー・メッセージです。

EXCEPTION_INITプラグマ

ユーザー定義の例外をTimesTenエラー番号に関連付けます。

『Oracle Database PL/SQL言語リファレンス』のEXCEPTION_INITプラグマに関する説明を参照してください。

例外定義

実行時エラーまたは警告状態である例外を指定します。事前定義の例外とユーザー定義の例外があります。

事前定義の条件は暗黙的に発生します。ユーザー定義の例外は、RAISE文によって明示的に発生します。発生した例外を処理するには、例外ハンドラと呼ばれる個別のルーチンを作成します。

第4章「エラーと例外の処理」を参照してください。

EXECUTE IMMEDIATE

動的SQL文を作成して実行します。

TimesTenは、これをOracle Databaseと同じようにサポートし、SQL DMLまたはDDL文を実行したり、PL/SQL無名ブロックを実行したり、PL/SQLストアド・プロシージャまたはファンクションをコールします。「PL/SQLでの動的SQL(EXECUTE IMMEDIATE文)」を参照してください。

TimesTenでは、EXECUTE IMMEDIATE文を使用してTimesTenの組込みプロシージャとTimesTen固有のSQL機能(SELECT FIRSTなど)を実行することもできます。

EXIT

ループを終了し、制御をループの最後に渡します。

(特に)例6-2「ALTER SESSIONを使用した属性設定の変更」を参照してください。

式定義

オペランド(変数、定数、リテラル、演算子など)と演算子を組み合せた式を指定します。最も単純な式は1つの変数です。

『Oracle Database PL/SQL言語リファレンス』の式に関する説明を参照してください。

FETCH

複数行の問合せの結果セットからデータ行を取得します。

(特に)例2-17「カーソルを使用した従業員情報の取得」を参照してください。

FORALL

入力コレクションをSQLエンジンに送信する前にバルク・バインドします。

「FORALL操作およびBULK COLLECT操作」を参照してください。

ファンクションの宣言と定義

PL/SQLブロックまたはパッケージで宣言および定義できる、単一値を戻すサブプログラムまたはストアド・プログラムを指定します。

TimesTenでは、ストアド・ファンクションまたはプロシージャを無名ブロックで、またはCALL文を使用して実行できますが、その他のSQL文からは実行できません。プロシージャおよびファンクションの実行を参照してください。

TimesTen Classicでは、TimesTen SQLでCREATE FUNCTION文を使用してストアド・ファンクションを作成します。「PL/SQLのプロシージャおよびファンクション」を参照してください。また、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のCREATE FUNCTIONに関する説明も参照してください。

後述の「プロシージャの宣言と定義」も参照してください。

GOTO

文ラベルまたはブロック・ラベルに無条件に分岐します。

『Oracle Database PL/SQL言語リファレンス』のGOTO文に関する説明を参照してください。

IF

関連付けられているブール式の値に応じて、一連の文を実行するかスキップします。

「条件制御」を参照してください。

INLINEプラグマ

サブプログラムのコールをインライン化するかどうかを指定します。

『Oracle Database PL/SQL言語リファレンス』のINLINEプラグマに関する説明を参照してください。

INSERT

1つ以上のデータ行を表に挿入します。

「INSERT文を使用する例」を参照してください。また、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のINSERTに関する説明も参照してください。

リテラル宣言

数値、文字列、またはブール値を指定します。

例:

数値リテラル: 135

文字列リテラル: 'TimesTen'

LOOP

一連の文を複数回実行します。たとえば、FORループまたはWHILEループを実装する場合に使用できます。

例2-8「WHILEループの使用」を参照してください。また、『Oracle Database PL/SQL言語リファレンス』の基本LOOP文に関する説明も参照してください。

MERGE

1つ以上のソースから行を選択して、更新したりターゲット表に挿入できます。

『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のMERGEに関する説明を参照してください。

ネイティブ動的SQLの実行

EXECUTE IMMEDIATEを使用して、ほとんどの動的SQL文を処理します。

上記のEXECUTE IMMEDIATEのエントリを参照してください。

NULL

これは、操作が行われない文です。アクションは実行されずに、制御は次の文に渡されます。

『Oracle Database PL/SQL言語リファレンス』のNULL文に関する説明を参照してください。

OPEN

カーソルに関連付けられた問合せを実行します。問合せを処理するためのデータベース・リソースを割り当て、結果セットを識別します。

例2-17「カーソルを使用した従業員情報の取得」を参照してください。

OPEN FOR

カーソル変数(REF CURSOR)に関連付けられたSELECT文を実行します。結果セット内の最初の行の前にカーソル変数を配置します。

Oracle Database PL/SQL言語リファレンスのOPEN FOR文を参照してください。

パッケージ宣言

関連するPL/SQLの型、項目およびサブプログラムを論理的にグループ化するデータベース・オブジェクトであるパッケージを指定します。

TimesTen Classicでは、SQL文のCREATE PACKAGECREATE PACKAGE BODYを使用します。

「PL/SQLパッケージ」を参照してください。CREATE文の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』のSQL文に関する説明も参照してください。

プロシージャの宣言と定義

PL/SQLブロックまたはパッケージで宣言および定義できる、特定のアクションを実行するサブプログラムまたはストアド・プログラムを指定します。

TimesTenでは、ストアド・プロシージャまたはファンクションを無名ブロックで、またはCALL文を使用して実行できますが、その他のSQL文からは実行できません。プロシージャおよびファンクションの実行を参照してください。

TimesTen Classicでは、TimesTen SQLでCREATE PROCEDURE文を使用してストアド・プロシージャを作成します。「PL/SQLのプロシージャおよびファンクション」を参照してください。また、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のCREATE PROCEDUREに関する説明も参照してください。

前述の「ファンクションの宣言と定義」も参照してください。

RAISE

PL/SQLブロックまたはサブプログラムの通常の実行を停止し、制御を例外ハンドラに渡します。

「RAISE文の使用」を参照してください。

レコード定義

データベース行と同様に様々な型のデータ値が格納される複合変数であるレコードを定義します。

「PL/SQLでのレコードの使用」を参照してください。

RETURN

サブプログラムの実行を即座に完了し、制御をコール元に戻します。実行は、サブプログラムのコール後の文から再開します。

『Oracle Database PL/SQL言語リファレンス』のRETURN文に関する説明を参照してください。

RETURNING INTO

この句が属している文によって戻された値を格納する変数を指定します。

「RETURNING INTO句」および「RETURNING INTOを使用する例」を参照してください。

ROLLBACK

現在のトランザクション中に加えられたデータベースの変更を元に戻します。

『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のROLLBACKに関する説明を参照してください。

重要: TimesTenでは、COMMIT文およびROLLBACK文によってすべてのカーソルがクローズされます。

%ROWTYPE属性

データベース表内の行を表すレコード型を指定します。

例2-2「代入演算子を使用した変数への値の代入」を参照してください。

SELECT INTO

表の1行から値を取得し(SELECT)、その値を変数またはレコードに格納します。BULK COLLECT句(上述)とともに使用すると、結果セット全体を取得できます。

例2-3「SELECT INTOを使用した変数への値の代入」を参照してください。また、Oracle Database PL/SQL言語リファレンスの問合せ結果セットの処理も参照してください。

SOUNDEX SQLファンクション

charと同じ音声表現を持つ文字列を戻します。

『Oracle TimesTen In-Memory Database SQLリファレンス』のSOUNDEXに関する説明を参照してください。

SQLカーソル

SELECT文の結果セットのを明示的または暗黙的に処理します。

「PL/SQLプログラムでのカーソルの使用」を参照してください。

SQLCODEファンクション

直前に発生した例外の番号コードを戻します。

エラー条件が同じ場合、組込みファンクションのSQLCODEによって戻されるエラー・コードはTimesTenとOracle Databaseで同じですが、SQLERRMの戻り値は異なることがあります。

このことについては、「TimesTenエラー・メッセージおよびSQLコード」でも説明しています。

SQLERRMファンクション

error-number引数に関連付けられているエラー・メッセージを戻します。

エラー条件が同じ場合、組込みファンクションのSQLERRMによって戻されるエラー・メッセージは、TimesTenとOracle Databaseで同じとはかぎりませんが、SQLCODEの戻り値は同じです。

このことについては、「TimesTenエラー・メッセージおよびSQLコード」でも説明しています。

提供パッケージ

これらは、データベースに提供されるPL/SQLパッケージです。

TimesTenには、Oracle Database PL/SQLの提供パッケージのサブセットが用意されています。

第7章「TimesTenが提供するPL/SQLパッケージ」を参照してください。

システム表およびシステム・ビュー

これらは、管理目的でデータベースに提供される表およびビューです。

TimesTenでは、Oracle Databaseシステム表およびシステム・ビューのサブセットがサポートされています。

『Oracle TimesTen In-Memory Databaseシステム表およびビュー・リファレンス』のシステム表およびビューを参照してください。

ttPLSQLMemoryStats組込みプロシージャ

ライブラリ・キャッシュのパフォーマンスおよびアクティビティについての統計情報を戻します。

『Oracle TimesTen In-Memory Databaseリファレンス』のttPLSQLMemoryStatsに関する説明を参照してください。

ノート: Oracle Databaseでは、V$LIBRARYCACHEシステム・ビューによって同じ統計情報が提供されます。

%TYPE属性

フィールド、レコード、ネストした表、データベース列または変数のデータ型をハードコードするのではなく、宣言で使用できます。このことは、特にデータベース列を参照する変数、フィールドおよびパラメータを宣言する場合に役立ちます。

「PL/SQLの変数および定数」を参照してください。

UPDATE

表のすべての行または検索条件を満たす行の1つ以上の列の値を更新します。

『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のUPDATEに関する説明を参照してください。