gpt4 book ai didi

SQL删除查询忽略错误并继续

转载 作者:行者123 更新时间:2023-12-05 06:30:48 24 4
gpt4 key购买 nike

这样做:

delete from product 
where descricao ilike '%ACC%'

我收到这个错误:

update or delete on table "product" violates foreign key constraint "fk3b140f7bc8c91aae" on table "productmoviment"

我需要继续查询并执行所有行,删除没有的行,因为如果一行有外键,它根本不会执行任何其他行

谢谢

最佳答案

我假设这类似于一次性清理操作:否则您必须确保您的外键定义正确。

您可以使用匿名存储过程来完成。

假设:

  • product 表有一个名为 id 的主键
DO $$
DECLARE
pr product%rowtype;
BEGIN
FOR pr IN
select * from product
where descricao ilike '%ACC%'
LOOP
RAISE NOTICE 'trying to delete product id %',pr.id;
BEGIN
DELETE FROM product WHERE id=pr.id;
RAISE NOTICE
'Deleted product id: %',pr.id;
EXCEPTION
WHEN others THEN
-- we ignore the error
END;
END LOOP;
END $$;

基本上它会迭代所有匹配 WHERE 子句的产品(描述为 '%ACC%')并尝试将它们一个接一个地删除,忽略因外键而无法删除的产品的错误。

关于SQL删除查询忽略错误并继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52042753/

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