我有一個從Web服務獲得的行集合。其中一些行將被插入,一些是現有行的更新。除非我對錶中的ID進行查詢,否則無法通知。如果我找到它,然後更新。如果我沒有,然後插入。根據行是否存在更新或插入數據
Select @ID from tbl1 where ID = @ID
IF @@ROWCOUNT = 0
BEGIN
Insert into tbl1
values(1, 'AAAA', 'BBBB', 'CCCC', 'DDD')
END
ELSE
BEGIN
UPDATE tbl1
SET
A = @AAA,
B = @BBB,
C = @CCC,
D = @DDD
WHERE ID = @ID
END
我試圖找出最EFFIENT的方法來更新/插入這些行插入到表中,而不將它們傳遞到存儲過程中一次一個。
更新1
我應該我使用的SQL Server 2005。另外,如果我有300條記錄,我不想做300存儲過程調用已經提到。
聽起來像您正在尋找[MERGE](http://msdn.microsoft.com/en-us/library/bb510625%28v=sql.105%29.aspx)語句! – Josien