14.52 修飾式
修飾式を使用すると、複雑な値も簡潔な形式で、値が必要になった場所で宣言と定義ができます。
構文
qualified_expression ::=
typemark ::=
type_name ::=
aggregate ::=
positional_choice_list ::=
sequence_iterator_choice ::=
explicit_choice_list ::=
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選択は、最後の選択である必要があります。
例
関連トピック
-
概念の詳細および例は、修飾式の概要を参照してください。
- コレクション変数への値の代入
- レコード変数への値の代入