ADD句

構文

add_clause ::= 
   path_expression [add_expression] expression

セマンティクス

ADD句は、1つ以上の配列に新しい要素を追加するために使用します。通常は1つ以上の配列項目を返す必要があるターゲット式、新規要素を配置する各配列内の位置を指定するオプションの位置式、挿入する新規要素を返す新規要素式で構成されます。

ADD句は、ターゲット式から返された順序に対して繰り返されます。各ターゲット項目について、その項目が配列でない場合はスキップされます。それ以外の場合、位置式(存在する場合)および新規要素式は、現在のターゲット配列に対して計算されます。これらの2つの式は、現在のターゲット配列にバインドされている$変数を参照できます。

新しい値式から何も返されない場合、ADDは何も処理を行いません。それ以外の場合、この式から返される各項目は配列の要素型にキャストされます。これらのキャストのいずれかが失敗した場合は、エラーが発生します。それ以外の場合は、次に説明するように、新しい要素がターゲット配列に挿入されます。

位置式がない場合、または空の結果を返す場合、新しい要素はターゲット配列の最後に追加されます。位置式が複数の項目または数値以外の項目を返すと、エラーが発生します。それ以外の場合、返される項目は整数にキャストされます。この整数が0より小さい場合は、0に設定されます。配列サイズ以上である場合、新しい要素が追加されます。それ以外の場合、整数位置がPで、新規要素式がN項目を返すと、最初の項目は位置Pに、2番目の項目は位置P+1に、というように挿入されます。位置P以降の既存の配列要素は、N位置右に移動します。

例: 行の更新を参照してください。