gpt4 book ai didi

sql - Postgresql 从上次更新语句中获取行列表

转载 作者:行者123 更新时间:2023-11-29 13:30:49 25 4
gpt4 key购买 nike

如何获取使用上一个 UPDATE 语句更新的行的列表?

例如:

UPDATE test SET title = 'dont delete this' WHERE id IN(1,2,3);
UPDATE test SET deleted = true WHERE id NOT IN last_updated_rows('id');

另外,有没有办法在单个更新语句中执行这样的查询?

最佳答案

returning 子句专门做你想做的事。但是您问题中的查询可以用这样的逻辑处理:

UPDATE test
SET title = (case when id in (1, 2, 3) then 'dont delete this' else title end),
delete = (case when id in (1, 2, 3) then delete else true end);

关于sql - Postgresql 从上次更新语句中获取行列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24035558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com