Oracle

Oracle 並發插入

  • October 17, 2014

我們有簡單的案例

Create table t1 (c1 number primary);

session1: insert into t1 values (1); //session1 不送出事務

會話2:insert into t1 values (2);

Session2 是否會掛起/等待 session1 送出/回滾事務?

當我們插入不同的值時?

如果不是那為什麼,請說明一下

不,您的案例不會阻止 Oracle,也不應該阻止。並發是使用 RDBMS 而不是 Excel 的主要原因之一。

但只是為了讓它變得有趣,如果你在兩個會話中插入 相同的值,它就會阻塞。

會議#1

CREATE TABLE t1 (c1 NUMBER PRIMARY KEY);
INSERT INTO t1 VALUES (1);
-- do not commit transaction

會議#2

INSERT INTO t1 VALUES (1);
-- Since inserting the same value for PK, this blocks, as expected

引用自:https://dba.stackexchange.com/questions/80307