【发布时间】:2015-06-04 00:11:07
【问题描述】:
我在 oracle 中有一个表,它有 4 个属性,具有以下值
attribute_a attribute_b attribute_c attribute_d
abcd1 1 0
abcd1 2 1
abcd1 3 0
def1 1 1
def1 2 1
我想根据attribute_c中的值将带有“逻辑与”值的attribute_d更新为attribute_d
即对于 abcd1,逻辑 AND 为 0。我想用属性_d 中 abcd1 的值 0 更新表
对于def1,我想用def1 的attribute_d 中的值1 更新表。我可以使用 MERGE 来完成此操作吗?如果有人可以给我一个查询,我将不胜感激。
【问题讨论】:
-
你的意思是按位而不是。
-
为什么要更新表?像这样存储计算值通常是个坏主意。 (数据不一致...)改为创建一个视图,该视图始终具有新的 attribute_d 值,即使在其他列已更新之后也是如此。 (如果您确实必须存储 attribute_d 值,请使用触发器来处理它的更新。)
标签: sql oracle sql-update