H2 dosya veritabanını kullanıyorum ve aşağıdaki sorunla karşılaşıyorum. Sanırım iki VARCHAR (255) sütunlu PROPERTIES adlı bir tablo var: NAME ve VALUE, NAME birincil anahtar. Şimdi, tabloyu yeni bir satır ile yalnızca mevcut değilse güncellemek istiyorum. Varsa, o NAME için VALUE değerini değiştirmek istemiyorum. Bu MS SQL Server söylemek kolay olurdu, ancak H2 SQL IF, VAR OLMADIĞINI GİBİ yok. MERGE adlı bir komutu var, ancak mevcut olan güncellemeler var. Bunu H2 SQL ile yapmanın bir yolu var mı?
Bu sorunun bir kopya olduğunu sanmıyorum çünkü özellikle H2 için istediğini görmedim.H2 Yalnızca satır yoksa satır ekleyiniz
cevap
H2'ye aşina değilim, ancak "bulunmayanlar" işe yaramıyorsa, yeni değerin var olup olmadığını kontrol etme ve yalnızca almadıysa ekleme işlemine ne dersiniz?
Bu bir SQL Server örneğidir, dolayısıyla sözdizimini değiştirmeniz gerekebilir.
Insert into Properties
(Name, Value)
source.Newname, source.NewValue
from Source
where NewName
not in (
select Name
from Properties
)
;
Teşekkürler, ancak kodunuz başka bir tablodan eklemek gibi görünüyor. Sabit değerleri doğrudan tabloya ekleyebilmem gerekiyor. Kaynak nasıl doldurulur? –
Değerlerden nasıl geçiyorsunuz? Değişkenler kullanıyor muyuz? Değişkenlerle "Kaynak" deyimini kaldırabilir ve NewName ve NewValue sütun değerlerini değişkenlerle değiştirebilirsiniz. – Adam
- 1. Yalnızca JqPlot'ta satır yerine
- 2. Tek satır 'var' bildirimleri mi, yoksa satır başına bir mi?
- 3. OracleDataReader yalnızca bir satır döndürür
- 4. POI, yalnızca ilk 50 satır
- 5. Benim GRIDVIEW yalnızca bir satır
- 6. Satır içi satır içi satır
- 7. satır
- 8. getirme, önbellekten aldığımda yalnızca bir satır döndürür
- 9. Çoklu satır satır 2
- 10. Emacs satır içi satır aralığı (satır sonu) yorumlar
- 11. Java ExecuteBatch() yalnızca 1 satır ekler
- 12. Satır başına yalnızca üç öğe nasıl hizalanır?
- 13. Satır,
- 14. Satır
- 15. jQuery - Satır içi satır satırı düzenleme
- 16. SAS Döngüsünde Satır Satır numaraları
- 17. Satır sayısı satır sayısı csv.DictReader
- 18. IN satır
- 19. satır satırları
- 20. Tablo üstbilgileri yalnızca html'deki en üstteki satır için mi?
- 21. Satır içi işaretleme blokları yuvalanamaz. Yalnızca tek bir satır içi işaretlemeye izin verilir. MVC RAZOR
- 22. Birden çok yinelenen satır varsa ve hala çoğaltılamayan satırları döndürürseniz yalnızca 1 satır nasıl döndürülür?
- 23. Datepicker Clone ID Satır Ekleme Satır Ekle
- 24. Geçerli satır değerini sonraki satır değeriyle karşılaştırın
- 25. Bir textarea'da imlecin 'satır' (satır) numarasını bulun
- 26. Numpy 2D dizi Satır çıkarma Satır
- 27. seçme ve satır eklemek için bir satır
- 28. Satır başka bir satır içermiyorsa, onları birleştirin
- 29. Python'u satır içi kabuktan satır içi yürütme
- 30. Yoksay boşluğu olan satır boşlukları/satır sonları
O nerede H2 ile exists' değil 'kullanabilirsiniz görünüyor http://stackoverflow.com/questions/19768051/h2-sql-database-insert-if-the-record-does-not-exist –
Aslında benim için çalışmıyor. H2'de WHERE EXISTS kullanamazsınız. Sorguyu çalıştırmak için SQuirrel 3.6 kullanıyorum (H2 sürücüsü, h2-1.4.187) –