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

你可能感兴趣的:(oracle)