sql - 循环更新数据库记录?

标签 sql plsql

declare
begin
  for i in (select * from emp)
  loop
    if i.sal=1300 then
      update emp
      set sal=13000;
    end if;
  end loop;
end;

这段代码正在更新工资为 13000 的所有记录。相反,我想将工资为 1300 的记录更新为值 13000。你能告诉我哪里出错了吗?
我正在使用隐式游标访问记录..
对于每条记录,我都在检查该记录的 Sal 值。
如果特定记录中的薪水值为 1500,我想将其更新为 15000..

最佳答案

删除该代码并使用:

update emp set sal = 13000 where sal = 1300

关于sql - 循环更新数据库记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/556552/

相关文章:

SQL 使用 MAX() 函数选择不在 Group By 中的字段

mysql - case 和 order by - 如何指定某些内容应显示在列表末尾?

mysql - SQL 性能 : Which is quicker? IN() 与 JOIN

sql - 将复杂的 Oracle PL/SQL 游标逻辑封装为 View 的最佳方法?

oracle - 运行pl/sql的目标列表中不存在程序?

sql - PL/SQL : SELECT INTO raises ORA-00947

sql server 基表

mysql - 按类型返回每个月的用户数

oracle - PLSQL显示编译错误

java - java中如何查找字符串