存储过程中循环遍历表“A”和&的所有行的最佳方法是什么?如果记录存在于表“B”中,则按ID检查&取决于结果(在表B中找到或不在表格中)执行“插入”或“更新”到表“B”。
例如:
//LOOP START
//if ID Exists in Table B.
//Take current row table a values and update table "B"
Else
//Take current row table a values and insert into table "B"
//LOOP END
感谢
答案 0 :(得分:2)
在SQL 2008上使用MERGE INTO命令
MERGE INTO table_B as Target
USING (
Select
Id, Field1, Field2
FROM table_A ) as Source
ON Source.Id = Target.Id
WHEN NOT MATCHED THEN
INSERT( Id, Field1, Field2 )
VALUES( Source.Id, Source.Field1, Source.Field2 )
WHEN MATCHED THEN
UPDATE
SET
target.Id = Source.Id
,target.Field1 = Source.Field1
,target.Field2 = Source.Field2
;