Oracle循环

1. loop exit when循环

此循环就相当于do...while循环至少执行一次
declare
i_var text.id%type;
i_cont number:=0;
begin
loop
insert into text(id) values(i_cont);
exit when i_cont>10;
i_cont:=i_cont+2;
end loop;
end;

2.whie循环

declare
i_var number:=0;
begin
while i_var < 10
loop


dbms_output.put_line(i_var);
i_var := i_var+1;
end loop;
end;


目前在中投保项目中使用的是mysql数据库结合hibernate的查询。

我们碰到一个实际的问题:

手动向mysql数据库更新的数据(包括增删改,确认已comiit)从hibernate中查询出来没有反应出新数据
但是通过系统录入的更新数据(即通过hibernate事务提交的数据)可以正常查询出来。
ps:我们在oracle中并未碰到此问题。

上网查询后发现修改数据库级别 为Read Commited 后可以解决此问题,但不知道会对系统是否有其它影响
估特此提出求教,望大家不吝指教,谢谢。

set global transaction isolation level read committed;

set transaction isolation level read committed;

隔离级别 是否存在脏读 是否存在不可重复读 是否存在幻读
Read Uncommited:不提交读 Y
Read Commited(Oracle默认):提交读 N Y Y
Repeatable Read(MysqL默认):可重复读 N N Y
Serialiazble:序列化读 N N N
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值