Bunu yayınlamakta gerçekten isteksiz davrandım çünkü bu yaygın bir sorun olduğunu düşünüyorum, ancak bu durum için geçerli bir yanıt bulamıyorum ... (belki de sadece gerçekten kötü bir googler).Başka bir tablodan bileşik anahtar temel alınarak silme
İki aynı tabloya (sütun bilgisi değil, veri), tablo1 ve tablo2'ye sahibim. Kompozit anahtarın (col1, col2) her iki tabloda da var olduğu tablo1'deki kayıtları silmek istiyorum. İşte sahip olduğum şey, bana göre doğru görünüyor ama bir hata atıyor.
DELETE FROM Table1
WHERE (**Col1**, Col2) IN
(SELECT Col1, Col2
FROM Table1 a
JOIN Table2 b
ON a.Col1 = b.Col1
AND a.Col2 = b.Col2)
Hata:
Ben 'Kırmızı hata Squiggles' vardır kod kısmına yaklaşık iki*
koyduk
Msg 4145, Level 15, State 1, Line 212 An expression of non-boolean type specified in a context where a condition is expected, near ','.
.
Bunun SQL-SERVER olduğuna inanıyorum? – gdoron
Evet, pardon. Daha spesifik olmalıydı. İşte işte SQL-SERVER'i SQL ve Oracle olarak Oracle olarak görüyoruz. – Jeff
Oracle, SQL Server'dan çok daha büyük bir "eski" olduğu için, garip bir sözleşme ... ama eğer patronunuzu mutlu ediyorsa ve daha zengin olursanız, neden olmasın? – gdoron