成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

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

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

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

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

前端開發(fā)人員口口聲聲說傳入的數(shù)據(jù)不會有重復(fù)值,懷疑數(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)

當(dāng)匹配時

更新集合表表表表表表

當(dāng)不匹配時

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

犯罪

結(jié)束測試

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ù)的重復(fù)值造成的。

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

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

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