我想同时从表中删除多条记录。
样本输入:
{"INPUT":{"ID":"2200038,2200039,2200073,2200019"}}
将从应用程序提供输入,即,
ID 可以是随机的 - 它会根据要求进行更改。
delete from mytable
where id = ....?
我想同时删除来自输入的多个 ID。
您可以从 json 字符串中提取 id 作为数组并使用ANY
运算符删除它们
WITH t AS
(
SELECT '{"INPUT":{"ID":"2200038,2200039,2200073,2200019"}}' AS input
)
DELETE FROM mytable
WHERE id = ANY ( SELECT unnest(
String_to_array(input::json->'INPUT'->>'ID',',')::int[])
FROM t );
这是一个使用 Bind 变量在 psql 中输入的演示。请注意,UNNEST
这里不需要。
\set input '{"INPUT":{"ID":"2200038,2200039,2200073,2200019"}}'
knayak=# DELETE FROM mytable WHERE
id = ANY( String_to_array(:'input'::json->'INPUT'->>'ID',',')::int[] )
DELETE 2
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句