Aşağıdakileri yapmak istiyorum, birincil anahtarlar eşleştiğinde ve etkin 'Y' kaydı olmayan satır yoksa. Mümkün mü?Birleştirme ifadesinde var olmayan IF?
-- Merge statement
MERGE INTO table1 AS DST
USING table2 AS SRC
ON (SRC.Code = DST.Code)
--Existing records updated if data changes
WHEN MATCHED
AND IF NOT EXISTS (WHERE active='Y' FROM table1)
THEN
INSERT INTO table1 (colum)
SELECT value
+-------+-------------+--------+
| Code | description | Active |
+-------+-------------+--------+
| AB | just | |
| | something | No |
+-------+-------------+--------+
aynı Kodu etkin kayıt yoktur sadece, bir kayıt eklemek istiyorum:
Bu çalıştı. yeni kayıt Odüzenlemek daha net hale getirir umut bu
+-------+-------------+--------+
| Code | description | Active |
+-------+-------------+--------+
| AB | something | |
| | else | YES |
+-------+-------------+--------+
gibi görünecektir: onun mümkün değildir Aldırma, sadece bu hata mesajı var: türden bir eylem 'INSERT' değil Bir MERGE ifadesinin 'KADAR ZAMAN' maddesinde izin verilir.
Bu değil eserlerini birleştirme nasıl. Geleneksel bir IF kullanmayı düşünün. – Toby
Tablo yapıları örnek verileri ve beklenen sonuç sonucunu anlamak ve cevaplamak için yardımcı olacaktır. –
Gönderiyi düzenleme konusunda sorun yaşamaya devam ettim ancak şu anda bazı örnek veriler var – R2D2