14.52 修飾式

修飾式を使用すると、複雑な値も簡潔な形式で、値が必要になった場所で宣言と定義ができます。

修飾式は、次の場所で使用できます。

構文

positional_choice_list ::=

sequence_iterator_choice ::=

named_choice_list ::=

indexed_choice_list ::=

others_choice ::=

セマンティクス

qualified_expression

RECORD型の修飾式は、RECORD型の式が許可されている任意のコンテキストで使用できます。

連想配列型の修飾式は、連想配列型の式が許可されている任意のコンテキストで使用できます。

typemark ( aggregate )

集計(修飾項目)の型を明示的に指定します。

typemark

type_name

修飾式は明示的な型の指定を使用することで修飾項目の型を指定します。この明示的な指定はtypemarkと呼ばれるものです。

[identifier . ]identifier

修飾項目の型を示します。

aggregate

修飾式は式要素を組み合せて、RECORD型または連想配列型の値を作成します。

positional_choice_list

expr [ , ]

RECORD型の修飾式では位置関連付けを使用できます。

位置関連付けが同じ構造体内の名前関連付けに従っていない場合もあります(その逆も同様です)。

sequence_iterator_choice

FOR iterator SEQUENCE => expr

シーケンス・イテレータ選択アソシエーションは、定位置引数です。これは、別の定位置引数と自由に混在させることができます。すべての位置指定引数は、定位置ではない引数よりも前に指定する必要があります。INDEX BY VARCHAR2配列では順序の反復は許可されていません。

explicit_choice_list

named_choice_list | indexed_choice_list | basic_iterator_choice | index_iterator_choice

名前関連付けでは修飾する構造型からのフィールドの名前を使用する必要があります。索引キーの値は修飾するベクトル型の索引の型と互換している必要があります。

named_choice_list

名前指定選択は構造型にのみ適用されます。

identifier => expr [ , ]

RECORD型の修飾式に名前関連付けを使用できます。

indexed_choice_list

索引選択は、ベクトル型にのみ適用されます。

expr => expr [ , ]

索引指定選択(キーと値のペア)を連想配列型の修飾式で使用できます。キーおよび値に式を使用することができます。

連想配列型の構造体で、NULLを索引キー値として使用することはできません。

basic_iterator_choice

FOR iterator => expr

基本イテレータ選択アソシエーションは、イテランドを索引として使用します。

Restrictions:

PAIRS OF繰返しコントロールは、基本イテレータ選択アソシエーションに使用できません。

index_iterator_choice

FOR iterator INDEX expr => expr

索引イテレータ選択アソシエーションは、値式と連動する索引式を実現します。

others_choice

OTHERSセレクタは、レコード型およびVARRAYの集計で使用できます。OTHERS選択は、最後の選択である必要があります。

  • 修飾式を使用したRECORD型変数への値の代入修飾式を使用したRECORD型変数への値の代入
  • 例6-11 「修飾式を使用した連想配列型変数への値の代入」
  • 例6-8修飾式でのイテレータ選択アソシエーション
  • 例6-9 「修飾式での索引イテレータ選択アソシエーション」
  • 例6-10 「修飾式でのシーケンス・イテレータ選択アソシエーション」
  • 例5-27「修飾式での繰返しとしての動的SQLの使用」

関連トピック