for update 的使用例子
2009-01-14 16:18
302 查看
WHERE CURRENT OF WHERE CURRENT OF YOUR_CURSOR_NAME 其实还是很有用的,特别是在循环游标中。
例如:需要把所有job=SALESMAN的加5%的工资。
=CLERK的加10%的工资。
=MANAGER加15%的工资。
[Copy to clipboard] [ - ]
CODE:
declare
cursor myc is
select * from emp for update;
begin
for v_row in myc loop
if v_row.job='SALESMAN' then
update emp set sal=sal*1.05 where current of myc;
elsif v_row.job='CLERK' then
update emp set sal=sal*1.10 where current of myc;
elsif v_row.job='MANAGER' then
update emp set sal=sal*1.15 where current of myc;
end if;
end loop;
commit;
exception
when others then
rollback;
raise;
end;
例如:需要把所有job=SALESMAN的加5%的工资。
=CLERK的加10%的工资。
=MANAGER加15%的工资。
[Copy to clipboard] [ - ]
CODE:
declare
cursor myc is
select * from emp for update;
begin
for v_row in myc loop
if v_row.job='SALESMAN' then
update emp set sal=sal*1.05 where current of myc;
elsif v_row.job='CLERK' then
update emp set sal=sal*1.10 where current of myc;
elsif v_row.job='MANAGER' then
update emp set sal=sal*1.15 where current of myc;
end if;
end loop;
commit;
exception
when others then
rollback;
raise;
end;
相关文章推荐
- 使用for update卡住锁表的解决办法(转)
- MySQL 使用SELECT ... FOR UPDATE 做事务写入前的确认(转)
- Mysql查询语句使用select.. for update导致的数据库死锁分析
- SQL 游标使用的小例子,对于每行数据根据参数的不同进行Insert或Update操作.
- 使用for update卡住锁表的解决办法
- PL/SQL编辑数据"这些查询结果不可更新,请包括ROWID或使用SELECT...FOR UPDATE获得可更新结果"处理
- MySQL 使用SELECT ... FOR UPDATE 做事务写入前的确认
- 【转】PL/SQL编辑数据"这些查询结果不可更新,请包括ROWID或使用SELECT...FOR UPDATE获得可更新结果"处理
- (转)PL/SQL编辑数据"这些查询结果不可更新,请包括ROWID或使用SELECT...FOR UPDATE获得可更新结果"处理
- 使用SHBrowseForFolder取得文件夹路径的例子
- for update和for update nowait的区别和使用
- oracle for update 的使用
- PHPRPC for delphi 在Form中使用例子
- [Python]Python 使用 for 循环的小例子
- dos shell for的使用例子
- mysql SELECT FOR UPDATE语句使用示例
- CMD文件中用FOR命令读取文本文件内容到变量,以及和PsExec搭配使用的方法和例子
- asp.net ajax 1.0中detailview与updatepanel混合使用的例子
- Oracle编辑数据时提示:这些查询结果不可更新,请使用ROWI或者SELECT……FOR UPDATE获得可更新结果。