这可能毫无意义,但我希望在一个查询中,当合格值等于1时,只使用第二个值,但始终更新第一个值。因此,如果符合条件的已为0(或其他内容),则不更新符合条件的。我能在一个查询中完成吗?
---Looping through this
UPDATE myTable p
SET p.first= 'C', p.eligible = 0
WHERE id = l_modifier_row_a.id
期望的结果
之前
ID First Eligible
1 A 1
2 B 2
之后
ID First Eligible
1 C 0
2 C 2
2条答案
按热度按时间bejyjqdl1#
在oracle中,可以使用
exists
:cbeh67ev2#
有时不能设置多个列值,但在其他语句中则不能,因为在一条语句中,列总是相同的。但是,可以有条件地将列的值设置为现有值或更改该值。
这在没有循环的单个语句中可能是可行的。但是你没有发布循环控制,所以我不能看得更远。