Bir sorun vardır: I Oturum 1 bu tabloya ekleme yapılmasıINSERT
CREATE TABLE T (ID NUMBER,
UNIQUE (ID));
benzersiz kısıtlama ile bir sütun ile Tablo T sahiptir
INSERT INTO T(id) VALUES(1);
Oturum 2 bu tablo
aynı değeri birleştirme çalışıyorO anda Oturum 2 engellenir ve 1. Oturumun işlenmesini veya geri alınmasını bekler. Şimdi bir hata Oturumda 2
orada herhangi seçenekleri mı ihlal Bunu nasıl önleyebilirim?ORA-00001 meydana O anda Oturum 1
COMMIT;
çalıştırmak: benzersiz kısıtlama
P.S. Sorun, aynı tablodaki bazı tabloya ve MERGE'ye (ON bölümündeki BENZERSİZ sütunları kullanarak) INSERT olduğudur. Bu INSERT ve MERGE, iki farklı oturumda ayrı olarak çağrılmaktadır. Ve bazen üstte açıklanan durum nedeniyle MERGE düşüyor. Umarım anlaşılır bir şekilde tarif ettim umarım
Bu iki oturumun paralel olarak çalışamaması gibi görünüyorsa, sırayla çalıştırılmalı ve 1. oturumun bitmesini bekleyip daha sonra oturum 2'yi başlatmayı beklemelisiniz, bu bir sorun olur mu? – dood
Kimlik için nasıl bir değer üretildi ve yanlış olan şey ORA-00001' –
@ Arkadiusz Łukasiewicz dediğim gibi - Kimlik sadece bir örnektir. Aslında 3 sütun üzerinde UNIQUE kısıtlaması var. 1. oturumda INSERT 'i yaptım. Aynı değerlerle "MERGE" yi çalıştırıyorum, ancak ON (Açık) bölümünde bu 3 benzersiz sütunu bir araya getiriyorum (böylece normal durumda MERGE, "MATENEBİLİR" bölümüne gider ve başarılı bir şekilde çalışır). Şimdi MERGE, oturum 1'in işlenmesini bekliyor. Yaptıktan sonra, MERGE ON deyimini kontrol etmiyor, sadece INSERT yapmaya çalışıyorum ("DEĞİLDİR" bölümüne git) ve ORA-00001'e düşüyor. – Tatiana