1. SELECT * FROM dual FOR UPDATE;
2. SELECT s.sid, s.serial#,
CASE BITAND(t.flag, POWER(2, 28))
WHEN 0 THEN 'READ COMMITTED'
ELSE 'SERIALIZABLE'
END AS isolation_level
FROM v$transaction t
JOIN v$session s ON t.addr = s.taddr AND s.sid = sys_context('USERENV', 'SID');
设置隔离级别使用
SET TRANSACTION ISOLATION LEVEL [READ UNCOMMITTED|READ COMMITTED|REPEATABLE > > > READ|SERIALIZABLE]
// java程序对比 模块函数
target = 1 name = MySQL
name = java
public viod add_name( int id) {
String name = " ";
if(id==1){
name = "MySQL";
}else {
name ="Java" ;
}
String sql = "insert into user( name ) values( "+name+")";
}
//SQL语言对比 存储过程
create procedure add_name( in target int )
begin
if target = 1 then
set name = "MySQL";
else
set name = "Java";
end if;
insert into user(name) values(name);
end;
调用:call 存储过程名(参数)
删除:drop procedure 存储过程名
出参存储过程
代码语言:javascript
复制
create procedure count_of_user(out count int )
begin
select count( id ) into count from user;
end
调用:call count_of_user( @count ) ,count_of_user会将执行的结果赋值给@count 直接查询@count 就可以获取结果。
存储过程的流程控制语句
代码语言:javascript
复制
if 判断结构:
create procedure example_if( in x int )
begin
if x=1 then
select name from user;
else if x=2 then
select id from user;
end if;
end;
-------------------------------------------------------------------------
case结构:
create procedure example_if( in x int )
begin
case = x
when 1 then select id from user;
when 2 then select name from user;
end case;
end;
--------------------------------------------------------------------------
while 结构
// java语言结构
int sum =0;
int i = 1;
while:
int i = 1;
while( i<=100 ){
sum += i;
i++;
}
syso(sum) ;
//SQL语言结构:(注意语句的分号要写)
create procedure example_while( out sum int )
begin
declare i int default 1;
declare s int default 0;
while i<=100 do
set s = s + i ;
end i = i+1;
end while
set sum = s;
end ;