MySQL YERİNE SQL Server 2005 uygulama İÇİNE?
MySQL inanılmaz faydalı henüz REPLACE INTO properitary bu SQL Komutu vardır.
Merak ediyorum: bu kolayca SQL Server 2005 öykünülen?
Bir başlangıç yeni bir Hareket, ne bir Select() ve sonra da UPDATE INSERT COMMIT her zaman biraz acı, hele hele işin içinde uygulama ve bu nedenle her zaman tutmak 2 sürümleri deyim.
Eğer kolay bir ve olup olmadığını merak ediyorumevrenselSQL Server 2005 gibi bir işlevi gerçekleştirmek için bir yol?
CEVAP
Bu MSSQL (rant on my blog) ilgili sinirimi bozan bir ÅŸey. upsert MSSQL destekli diliyorum.
@Dillie-O kodu iyi bir şekilde eski sürümleri SQL ( 1 oy), ama yine de temelde iki IO işlemleri (exists ve update insert)
Temelde this post, biraz daha iyi bir yolu var:
--try an update
update tablename
set field1 = 'new value',
field2 = 'different value',
...
where idfield = 7
--insert if failed
if @@rowcount = 0 and @@error = 0
insert into tablename
( idfield, field1, field2, ... )
values ( 7, 'value one', 'another value', ... )
Bu bir eklerseniz eğer bir güncelleme varsa bir IO işlemleri, iki ya da azaltır.
MS Sql2008 tanıtır SQL merge: 2003 standardı:
merge tablename as target
using (values ('new value', 'different value'))
as source (field1, field2)
on target.idfield = 7
when matched then
update
set field1 = source.field1,
field2 = source.field2,
...
when not matched then
insert ( idfield, field1, field2, ... )
values ( 7, source.field1, source.field2, ... )
Şimdi gerçekten sadece bir IO işlemi, ama kötü kod :-(

Raylar üzerinde Ruby yeni bir uygulama...
Nasıl bir düzenli ifade yapmak MySQL y...
Nasıl bir SQL Server 2005 veritabanı i...
Farklı Windows bağlanmak SQL Server Ma...
Group_concat MySQL SQL Server iÅŸlevi t...