ドキュメントの更新と削除 - Amazon Quantum Ledger Database (Amazon QLDB)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ドキュメントの更新と削除

Amazon QLDB のドキュメントリビジョンは、一意のドキュメント ID によって識別される一連のドキュメントの 1 つのバージョンを表す Amazon Ion 構造です。すべてのリビジョンには、ユーザーデータとシステム生成メタデータの両方を含む、ドキュメントの完全なデータセットが含まれます。各リビジョンは、ドキュメント ID と 0 から始まるバージョン番号を組み合わせてそれぞれ識別されます。

ドキュメントを更新すると、QLDB によって、同じドキュメント ID と増加したバージョン番号を持つ新しいリビジョンが作成されます。ドキュメントのライフサイクルは、テーブルから削除されたときに終了します。つまり、同じドキュメント ID のドキュメントリビジョンを再度作成することはできません。

ドキュメントのリビジョン

たとえば、次のステートメントに新しい車両登録を挿入し、登録都市をアップデートしてから、登録を削除します。その結果、3 つのドキュメントリビジョンが出来上がります。

INSERT INTO VehicleRegistration { 'VIN' : '1HVBBAANXWH544237', 'LicensePlateNumber' : 'LS477D', 'State' : 'WA', 'City' : 'Tacoma', 'PendingPenaltyTicketAmount' : 42.20, 'ValidFromDate' : `2011-10-26T`, 'ValidToDate' : `2023-09-25T`, 'Owners' : { 'PrimaryOwner' : { 'PersonId': 'KmA3XPKKFqYCP2zhR3d0Ho' }, 'SecondaryOwners' : [] } }
注記

Insert ステートメントと他の DML ステートメントは、影響を受ける各ドキュメントの ID を返します。次のトピックの履歴機能に必要なため、続行する前に、この ID を保存してください。次のクエリを使用してドキュメント ID を検索することもできます。

SELECT r_id FROM VehicleRegistration AS r BY r_id WHERE r.VIN = '1HVBBAANXWH544237'
UPDATE VehicleRegistration AS r SET r.City = 'Bellevue' WHERE r.VIN = '1HVBBAANXWH544237'
DELETE FROM VehicleRegistration AS r WHERE r.VIN = '1HVBBAANXWH544237'

これらの DML ステートメントの構文の例と詳細については、「Amazon QLDB PartiQL リファレンス」の「UPDATE」と「DELETE」を参照してください。

ドキュメント内の特定の要素を挿入および削除するには、FROM キーワードで始まる UPDATE ステートメントまたはその他の DML ステートメントを使用できます。詳細と例については、「FROM (INSERT、REMOVE、または SET)リファレンス」を参照してください。

ドキュメントを削除した後は、コミット済みビューまたはユーザービューでそのドキュメントのクエリを実行できなくなります。組み込みの履歴関数を使用してこのドキュメントのリビジョン履歴のクエリを実行する方法については、「リビジョン履歴のクエリの実行」に進みます。