1. 写法轻松,更新效率高:
update table1
set field1=table2.field1,
field2=table2.field2
from table2
where table1.id=table2.id
2. 常规方式,种写法相当于一个 Left join, 以外面的where为更新条数,如果不加where就是所有记录
update table1
set field1=(select top 1 field1 from table2 where table2.id=table1.id)
where table1.id in (condition)
3.INSERT INTO SELECT语句
语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
要求目标表Table2必须存在,由于目标表Table2已经存在,所以除了插入源表Table1的字段外,还可以插入常量。
4.SELECT INTO FROM语句
语句形式为:SELECT vale1, value2 into Table2 from Table1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。
--INSERT INTO TbDutyPersonHistory([DutyHistoryBigId],[DutyHistoryPersonId],[DutyHistoryCurrentTimes],[DutyHistoryCurrentId],[DutyHistoryCurrentDate],[DutyHistoryPersonDate],[DutyHistoryAdminId],[DutyHistoryAddDate])