以下是一个示例代码,演示了如何在不使用游标的情况下更新每个选择行的结果:
UPDATE your_table
SET column_name = CASE
WHEN condition1 THEN new_value1
WHEN condition2 THEN new_value2
...
ELSE column_name
END;
在上面的示例中,您需要将your_table
替换为您的表名,column_name
替换为您要更新的列名。然后,您可以根据需要添加多个WHEN
子句,每个子句定义了一个条件和一个新值。最后的ELSE
子句用于指定如果没有条件匹配时要使用的默认值。
以下是一个具体的示例,假设我们有一个名为users
的表,其中包含id
和status
列。我们想要将status
为'active'的所有用户的状态更改为'inactive':
UPDATE users
SET status = CASE
WHEN status = 'active' THEN 'inactive'
ELSE status
END;
这将更新users
表中所有满足条件status = 'active'
的行的status
列为'inactive'。其他行的status
值将保持不变。
上一篇:不使用游标迭代行的SQL
下一篇:不使用游标来创建ID范围