oracle 使用PL/SQL与游标(CURSOR),循环(loop),条件(if)来更新数据。
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 之前。
目录 返回
首页