ヘッダーをスキップ
Oracle® Database PL/SQL言語リファレンス
11gリリース2 (11.2)
B56260-09
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

式は、オペランド(変数、定数、リテラル、演算子、ファンクション起動およびプレースホルダ)の任意の組合せです。最も単純な式は、1個の変数で構成されています。

PL/SQLコンパイラは、式を構成するオペランドおよび演算子の型から、式のデータ型を決定します。式が評価されたときは、その型の1つの値が結果として得られます。

ここでのトピック

セマンティクス

boolean_expression

値がTRUEFALSEまたはNULLの式です。詳細は、「BOOLEAN式」を参照してください。

boolean_expressionの制限 SQLにはBOOLEANに相当するデータ型がないため、次の操作は実行できません。

  • データベース表の列にBOOLEAN式を割り当てる操作

  • データベース表の列の値を選択またはフェッチしてBOOLEAN変数に入れる操作

  • SQL文、SQLファンクションまたはSQL文から起動されたPL/SQLファンクションでBOOLEAN式を使用する操作

NOT、AND、OR

詳細は、「論理演算子」を参照してください。

boolean_constant

BOOLEAN型の定数の名前。

boolean_function_call

BOOLEAN値を戻す、事前に定義されたファンクションの起動。セマンティクスの詳細は、function_callを参照してください。

boolean_variable

BOOLEAN型の変数の名前。

conditional_predicate

詳細は、「トリガーを起動したDML文を検出する条件述語」を参照してください。

other_boolean_form

collection

コレクション変数の名前。

EXISTS

collectionindex番目の要素が存在する場合はTRUE、それ以外の場合はFALSEを戻すコレクション・メソッド(ファンクション)。詳細は、「EXISTSコレクション・メソッド」を参照してください。

EXISTSの制限 collectionが連想配列である場合、EXISTSは使用できません。

index

データ型PLS_INTEGERまたはPLS_INTEGERに暗黙的に変換可能なデータ型を持つ数式である必要があります(後者の詳細は「PLS_INTEGERの事前定義のサブタイプ」を参照してください)。

IS [NOT] NULL

詳細は、「IS [NOT] NULL演算子」を参照してください。

BETWEEN expression AND expression

詳細は、「BETWEEN演算子」を参照してください。

IN expression [, expression ]...

詳細は、「IN演算子」を参照してください。

LIKE pattern

詳細は、「LIKE演算子」を参照してください。

relational_operator

詳細は、「関係演算子」を参照してください。

SQL

直前に実行されたSELECT文またはDML文に関連付けられた暗黙カーソル。詳細は、「暗黙カーソル」を参照してください。

%FOUND、%ISOPEN、%NOTFOUND

「暗黙カーソル属性」および「名前付きカーソル属性」で説明されているカーソル属性。

character_expression

文字データ型(CHARファミリのデータ型)の値を持つ式(「CHARデータ型ファミリ」を参照)。

character_constant

文字データ型の定数の名前。

character_function_call

文字データ型または暗黙的に文字データ型に変換可能な値を戻す、事前に定義されたファンクションの起動。セマンティクスの詳細は、function_callを参照してください。

character_literal

文字データ型のリテラル。

character_variable

文字データ型の変数の名前。

||

連結演算子で、ある文字列オペランドを別の文字列オペランドに追加します。詳細は、「連結演算子」を参照してください。

collection_constructor

指定された値を持つ要素を使用して、指定された型のコレクションを構成します。詳細は、「コレクションのコンストラクタ」を参照してください。

collection_type

事前に宣言されているネストした表型またはVARRAY型の名前(連想配列型ではありません)。

value

collection_typeのコレクション要素の有効な値。

collection_typeがVARRAY型の場合は最大サイズがあり、値の数はこのサイズを超えることができません。collection_typeがネストした表型の場合は、最大サイズがありません。

値を指定しないと、構成されるコレクションはNULLではなく空になります(NULLの違いは、「コレクション型」を参照してください)。

date_expression

日付データ型(DATEファミリのデータ型)の値を持つ式(「DATEデータ型ファミリ」を参照)。

date_constant

日付データ型の定数の名前。

date_function_call

日付データ型の値または暗黙的に日付データ型に変換可能な値を戻す、事前に定義されたファンクションの起動。セマンティクスの詳細は、function_callを参照してください。

date_literal

日付データ型の値または暗黙的に日付データ型に変換可能な値を持つリテラル。

date_variable

日付データ型の変数の名前。

+, -

加算と減算の演算子。

numeric_expression

日付数値型(DATEファミリのデータ型)の値を持つ式(「NUMBERデータ型ファミリ」を参照)。

+, -, /, *, **

加算、減算、除算、乗算、指数の演算子。

numeric_subexpression

collection

コレクション変数の名前。

COUNT、FIRST、LAST、LIMIT、NEXT、PRIOR

コレクション・メソッドの詳細は、「コレクション・メソッドの起動」を参照してください。

named_cursor%ROWCOUNT

「名前付きカーソル属性」を参照してください。

numeric_constant

数値データ型の定数の名前。

numeric_function_call

数値データ型の値または暗黙的に数値データ型に変換可能な値を戻す、事前に定義されたファンクションの起動。セマンティクスの詳細は、function_callを参照してください。

numeric_literal

数値データ型のリテラル。

numeric_variable

数値データ型の変数の名前。

SQL%ROWCOUNT

「暗黙カーソル属性」で説明されているカーソル属性。

SQL%BULK_ROWCOUNT]

「SQL%BULK_ROWCOUNT」で説明されているカーソル属性。

exponent

数式。

function_call

function

事前に定義されたファンクションの名前。

parameter [, parameter ]...

コールされているファンクションの実パラメータのリスト。各実パラメータのデータ型は、対応する仮パラメータのデータ型と互換性がある必要があります。使用できる実パラメータは仮パラメータのモードで決まります。

仮パラメータのモード 実パラメータ
IN 定数、初期化された変数、リテラルまたは式
OUT データ型がNOT NULLとして定義されていない変数
IN OUT 変数(通常は、文字列バッファまたは数値アキュムレータ)

ファンクションによってパラメータのデフォルト値が指定される場合は、パラメータ・リストでそのパラメータを省略できます。ファンクションにパラメータがない場合、またはファンクションによってすべてのパラメータにデフォルト値が指定される場合は、パラメータ・リストを省略するか、または空のパラメータ・リストを指定することができます。

searched_case_expression

WHEN boolean_expression THEN result

boolean_expressionは順番に評価されます。boolean_expressionの値がTRUEである場合は、boolean_expressionに関連付けられているresultが戻されます。後続のboolean_expressionは評価されません。

ELSE result

resultは、値がTRUEboolean_expressionが存在しない場合にのみ戻されます。

ELSE句を省略すると、検索CASE式ではNULLが戻されます。


関連項目:

「検索CASE文」

simple_case_expression

selector

BLOBBFILEまたはユーザー定義型を除くPL/SQL型の式。selectorは1回評価されます。

WHEN selector_value THEN result

selector_valueは順番に評価されます。selector_valueselectorの値である場合は、selector_valueに関連付けられているresultが戻されます。後続のselector_valueは評価されません。

selector_valueは、BLOBBFILE、ADT、PL/SQLレコード、連想配列、VARRAYまたはネストした表を除く任意のPL/SQL型にできます。

ELSE result

resultは、selectorと同じ値を持つselector_valueが存在しない場合にのみ戻されます。

ELSE句を省略すると、単純なcase式ではNULLが戻されます。


注意:

リテラルのNULLをすべてのresult (ELSE句のresultを含む)に指定すると、エラーPLS-00617が発生します。


関連項目:

「単純なCASE文」