首页 > 解决方案 > 当我们需要检查条件时,如何编写 UPDATE 语句?

问题描述

我想在 Oracle SQL 中编写一条更新语句,仅当同一个表中的另一个属性为真时才将几个属性设置为真。

    name   |    value
----------------------
property1       False
property2       False
property3       True
UPDATE table_xyz 
   SET value = 'True' 
WHERE name in ('property1', 'property2') 

仅当 property3 = 'True';

标签: sqloraclesql-update

解决方案


您可以尝试如下使用EXISTS.

UPDATE table_xyz 
   SET value = 'True' 
WHERE name in ('property1', 'property2') 
AND EXISTS
(
 SELECT 1 FROM table_xyz WHERE name = 'property3' AND value = 'True'
)

推荐阅读