日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

同样的sql在两个oracle,sql – 从两个会话INSERT到唯一列相同的值(Oracle)

發布時間:2024/4/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 同样的sql在两个oracle,sql – 从两个会话INSERT到唯一列相同的值(Oracle) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我有一個問題:

我有一個表T,其中一列具有唯一約束

CREATE TABLE T (ID NUMBER,

UNIQUE (ID));

會話1完成插入該表

INSERT INTO T(id) VALUES(1);

第2節嘗試將相同的值合并到該表

MERGE INTO t

USING (SELECT 1 col FROM dual) s

ON (t.id = s.col)

WHEN NOT MATCHED THEN

INSERT (id) VALUES (col);

此時會話2被阻止并等待會話1被提交或回滾.

現在我在第1節中運行

COMMIT;

此時會話2中發生錯誤

ORA-00001: unique constraint violated

有什么選擇我怎么能避免它?

附:問題是我在同一個表中INSERT到某個表和MERGE(在ON部分使用UNIQUE列).此INSERT和MERGE在兩個不同的會話中單獨調用.有時MERGE會因為上面描述的情況而下降.

我希望我把它描述得可以理解

總結

以上是生活随笔為你收集整理的同样的sql在两个oracle,sql – 从两个会话INSERT到唯一列相同的值(Oracle)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。