虚拟化容器,大数据,DBA,中间件,监控。

oracle 使用PL/SQL与游标(CURSOR),循环(loop),条件(if)来更新数据。

01 09月
作者:admin|分类:DBA运维

oracle 使用PL/SQL与游标(CURSOR),循环(loop),条件(if)来更新数据。


declare
  CURSOR emp_cursor is
    SELECT ename, sal FROM emp FOR UPDATE;
  emp_record emp_cursor%ROWTYPE;
begin
  OPEN emp_cursor;
  LOOP
    FETCH emp_cursor
      INTO emp_record;
    EXIT WHEN emp_cursor%NOTFOUND;
    if emp_record.sal < 2000 THEN
      UPDATE emp SET sal = sal * 1.1 where CURRENT of emp_cursor;
    end if;
  end loop;
  commit;
end;
/

本PL/SQL块使用了loop语句取的了所有雇员的姓名与工资,并且使用了条件控制语句(if)判断雇员工资,如果低于2000,则给该雇员增加10%的工资。

使用sqldeveloper工具执行时,commit 只能放到end loop 之后,不能放到之前或是end if 之前。


浏览1602 评论0
返回
目录
返回
首页
oracle数据库时间戳转换成日期时间方法 oracle PL/SQL中使用替代变量与多层嵌套