锁检测和锁操作的实现过程:先占用先处理,而不是先commit先处理
create table t_unique_rowlock(id varchar2(10),name varchar2(30));
alter table t_unique_rowlock add constraint primary key(id) using index;
会话1
SQL> insert into t_unique_rowlock values('1','aaaa');
1 row inserted
SQL> insert into t_unique_rowlock values('1','aaaa');
insert into t_unique_rowlock values('1','aaaa')
ORA-00001: unique constraint (BTUPAYPROD.PK_ID) violated---同一会话很容易检测到异常
会话2
SQL> insert into t_unique_rowlock values('1','aaaa');
SQL>
SQL> commit;---窗口显示一直在执行,没有随着commit操作而结束
会话1
SQL> commit;
Commit complete
会话2
SQL>
insert into t_unique_rowlock values('1','aaaa')
ORA-00001: unique constraint (BTUPAYPROD.PK_ID) violated----锁检测和锁操作的实现过程:先占用先处理,而不是先commit先处理
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27573546/viewspace-765847/
,如需转载,请注明出处,否则将追究法律责任。