gpt4 book ai didi

SQL WHERE EXISTS 掩盖了子查询中的错误

转载 作者:行者123 更新时间:2023-12-04 20:56:00 25 4
gpt4 key购买 nike

我正在运行一个查询来更新表中的标志,该标志依赖于检查子查询中是否存在值,但是当子查询出现错误(除以零)时,EXISTS 语句只是将其视为返回的行并继续更新。

例如

Update xxxx
Set Flagfield=1
FROM xxxx
WHERE
EXISTS (
Select * FROM yyyy Inner join xxxx on xxx.ID = yyyy.id
WHERE yyyy.int1 / yyyy.int2 > 1)

有没有其他人经历过这种行为,是否可以预料到?

最佳答案

如果我没有正确理解你的问题,那么你可以尝试下面的代码,只需在 where 语句中添加对 int2 的检查即可。

Update xxxx
Set Flagfield=1
FROM xxxx
WHERE
EXISTS (
Select * FROM yyyy Inner join xxxx on xxx.ID = yyyy.id
WHERE (yyyy.int2 IS NOT NULL AND yyyy.int2 <> 0) AND (yyyy.int1 / yyyy.int2 > 1))

关于SQL WHERE EXISTS 掩盖了子查询中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54108894/

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