SQLコマンドの使用によるデータの削除

DELETE文は、条件を満たす行セットを表から削除するために使用されます。

条件は、SELECT式と同じように動作するWHERE句に指定されます。DELETE文の結果は、RETURNING句が存在するかどうかによって異なります。RETURNING句がない場合、DELETEは削除された行数を返します。それ以外の場合、削除された行ごとに、RETURNING句の後の式がSELECT句と同じ方法で計算され、結果がアプリケーションに返されます。

例1: 単純なWHERE句を使用して、表からデータを削除します。

指定したフルネームを持つユーザーに対応するデータを削除します。
DELETE FROM BaggageInfo 
WHERE fullName = "Bonnie Williams"

例2: RETURNING句を使用して、表からデータを削除します。

RETURNING句は、削除する行の詳細をフェッチします。次の例では、削除されるチケット番号に対応するフルネームおよび確認番号をフェッチしています。
DELETE FROM BaggageInfo 
WHERE ticketNo = 1762392196147 
RETURNING fullName,confNo
出力:
{"fullName":"Birgit Naquin","confNo":"QD1L0T"}

ノート:

DELETE文の実行中にエラーが発生した場合は、一部の行が削除され、一部の行は削除されない可能性があります。システムでは、どの行が削除され、どの行が削除されていないかは追跡されません。これは、Oracle NoSQL Databaseでは低レイテンシ操作に重点が置かれているためです。シャードをまたいで長時間実行される操作は、2フェーズ・コミットおよびロック・メカニズムを使用して調整されません。このような場合は、アプリケーションでDELETE文を再実行することをお薦めします。
例3: 姓に基づいてstream_acct表からデータを削除します。
DELETE FROM stream_acct acct1 
WHERE acct1.acct_data.firstName="Adelaide"
 AND acct1.acct_data.lastName="Willard"