卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

創(chuàng)建數(shù)據(jù)庫關系圖時出現(xiàn)沖突 merge into插入數(shù)據(jù)出現(xiàn)主鍵沖突?

merge into插入數(shù)據(jù)出現(xiàn)主鍵沖突?后臺開發(fā)一個存儲過程使用merge into,主要是根據(jù)主鍵值檢查目標表中是否有主鍵值,如果有更新,否則插入。但是ORA-00001主鍵的在測試過程中經(jīng)常發(fā)生

merge into插入數(shù)據(jù)出現(xiàn)主鍵沖突?

后臺開發(fā)一個存儲過程使用merge into,主要是根據(jù)主鍵值檢查目標表中是否有主鍵值,如果有更新,否則插入。但是ORA-00001主鍵的在測試過程中經(jīng)常發(fā)生。

前端開發(fā)人員口口聲聲說傳入的數(shù)據(jù)不會有重復值,懷疑數(shù)據(jù)庫的問題。我相信甲骨文不會有這樣的bug。

為什么唐 我在后臺演示這個錯誤的方法。

1.創(chuàng)建一個測試表

創(chuàng)建表T_TEST

一種充電器(1),

b號

)

2.創(chuàng)建測試存儲過程

創(chuàng)建或替換程序測試(i_num in number)是

開始

并入t_test t

使用(SELECT #391#39 a,ROWNUM b FROM DUAL CONNECT BY ROWNUM lt I _ num)TA

開(t . a . ta . a)

當匹配時

更新集合表表表表表表

當不匹配時

插入值(TA.a,TA.b)

犯罪

結束測試

3.執(zhí)行存儲過程測試

SQLgt執(zhí)行測試(12)

PL/SQL過程已成功完成

SQLgt select * from t_test

一個B

- -

1 12

1 11

1 10

1 9

1 8

1 7

1 6

1 5

1 4

1 3

1 2

1 1

選擇了12行

SQLgt

4.清除t_test。

SQLgt截斷表t_test

表格被截斷

SQLgt

5.添加主鍵

SQLgt ALTER TABLE T_TEST使用索引添加約束PK_T_TEST主鍵(A)

表格已更改

6.在t_test中增加一行數(shù)據(jù)。

SQLgt執(zhí)行測試(1)

PL/SQL過程已成功完成

SQLgt select * from t_t:無法在源表中獲得一組穩(wěn)定的行。

ORA-06512:排在第34位。測試#34,第3行。

ORA-06512:在一號線。

SQLgt

8.清除t_t:違反了唯一約束(_T_T:排在第34位。測試#34,第3行。

ORA-06512:在一號線。

SQLgt

可以證明還是傳入數(shù)據(jù)的重復值造成的。

具體來說,就是要在節(jié)目中繼續(xù)跟蹤,讓他們信服。

數(shù)據(jù)庫沖突處理的原則?

處理矛盾的、遷就、回避、合作、妥協(xié)、脅迫等。當你遇到時,仔細思考,選擇合適的來處理。