SQLコマンドの使用

JSONデータの更新中に、WHERESETおよびRETURNING句に加えて、次の句を使用できます。
  • ADD 句は、1つ以上の配列に新しい要素を追加するために使用します。通常は1つ以上の配列項目を返す必要があるターゲット式、新規要素を配置する各配列内の位置を指定するオプションの位置式、挿入する新規要素を返す新規要素式で構成されます。
  • PUT句は、主に新しいフィールドをJSONドキュメントに追加する場合に使用します。これはターゲット式で構成され、通常、この式は、ターゲットJSONドキュメントに挿入される1つ以上のフィールドを返します。
  • REMOVE句は、削除する項目を計算する単一のターゲット式で構成されます。

例1: 表を更新し、JSONオブジェクトにデータを追加します

乗客の特定の飛行区間のアクション配列に(特定の配列要素で)要素を追加します。デフォルトでは、要素は末尾に追加されます。数値が指定されている場合は、その位置に挿入されます。次の例では、新しい要素を2番目の位置に追加するとします。
UPDATE BaggageInfo bag
ADD bag.bagInfo[0].flightLegs[0].actions 2  {"actionAt" : "LAX",
         "actionCode" : "WAITING at LAX",
         "actionTime" : "2019-02-01T06:13:00Z"}
WHERE ticketNo=1762344493810
RETURNING *

例2: 表を更新し、JSONオブジェクトからのデータを更新します。

SET句を使用して、JSONオブジェクトからのデータを更新できます。ここで、actions配列の2番目の要素は、指定されたチケット番号の新しい値で更新されます。
UPDATE BaggageInfo bag
SET bag.bagInfo[0].flightLegs[0].actions[2]=
{"actionAt" : "LAX",
"actionCode" : "STILL WAITING at LAX",
"actionTime" : "2019-02-01T06:15:00Z"}
WHERE ticketNo=1762344493810 RETURNING *

例3: 表を更新し、JSONオブジェクトのデータを削除します。

REMOVE句を使用して、特定の要素を配列から削除できます。配列の索引を使用して、削除する必要がある配列の要素を指定する必要があります。
UPDATE BaggageInfo bag
REMOVE bag.bagInfo[0].flightLegs[0].actions[1]
WHERE ticketNo=1762344493810
RETURNING *

例4: stream_acct表を更新し、JSONオブジェクトのデータを追加および削除します。

stream_acct表では、顧客向けにUPDATE文のADD句を使用して、番組の特定のシリーズ・エピソードの詳細を追加できます。
UPDATE stream_acct acct1 ADD acct1.acct_data.contentStreamed.seriesInfo[1].episodes {
     "date" : "2022-04-26",
     "episodeID" : 43,
     "episodeName" : "Season 2 episode 2",
     "lengthMin" : 45,
     "minWatched" : 45} WHERE acct_Id=2 RETURNING *
同様に、UPDATE文のREMOVE句を使用して、番組の特定のシリーズ・エピソードの詳細を削除できます。
UPDATE stream_acct acct1 
REMOVE acct1.acct_data.contentStreamed.seriesInfo[1].episodes[1] 
WHERE acct_Id=2 RETURNING *