WHERE句でJSON型を含むDELETE文とABORT文を使用できます。リレーショナル比較を実行できる定義済みの型に、これらのJSON型をキャストできます。またはこれらのJSON型ではシステム定義による関数またはメソッドを使用して、比較のために個別部分を分離できます。
DELETEの例の設定
後の例で使用するテーブルを作成して、データを取り込みます。
CREATE TABLE my_table (eno INTEGER, edata JSON(100)); INSERT INTO my_table(1, '{"name":"Cameron","age":24}');
例: DELETE文の使用
基準を満たすデータを選択的に削除します。
DELETE my_table WHERE CAST (edata.JSONExtractValue('$.age') AS INTEGER) = 24;
DELETEの結果を表示するには次を実行します: SELECT * FROM my_table;
*** No rows found
ABORTの例の設定
後の例で使用するテーブルを作成して、データを取り込みます。
CREATE TABLE my_table (eno INTEGER, edata JSON(100)); INSERT INTO my_table(1, '{"name":"Cameron","age":24}');
例: ABORT文の使用
JSONインスタンスの一部を中止します。
ABORT 'JSON Abort' FROM my_table WHERE CAST (edata.JSONExtractValue('$.age') AS INTEGER) = 24;
結果:
*** Failure 3513 JSON Abort.