CREATE TABLE Temp_A ( Emp_No VARCHAR(7) , Emp_Name VARCHAR(20) ) CREATE TABLE Temp_B ( Emp_No VARCHAR(7) , Emp_Name VARCHAR(20) ) INSERT INTO Temp_A VALUES ( ‘0000001‘, ‘张飞‘ ) INSERT INTO Temp_A VALUES ( ‘0000002‘, ‘吕布‘ ) INSERT INTO Temp_A VALUES ( ‘0000003‘, ‘关羽‘ ) INSERT INTO Temp_A VALUES ( ‘0000004‘, ‘貂蝉‘ ) INSERT INTO Temp_A VALUES ( ‘0000005‘, ‘孙权‘ ) INSERT INTO Temp_B SELECT TOP 4 * FROM Temp_A -- 使用Merge更新表 MERGE INTO Temp_B b USING Temp_A a ON a.Emp_No = b.Emp_No --WHEN MATCHED --THEN UPDATE SET b.Emp_Name=a.Emp_Name WHEN NOT MATCHED THEN INSERT VALUES ( a.Emp_No, a.Emp_Name ); -- 使用EXISTS找出A表中存在, B表中不存在的 INSERT INTO Temp_B SELECT * FROM Temp_A a WHERE NOT EXISTS ( SELECT * FROM Temp_B b WHERE a.Emp_No = b.Emp_No ) -- 更新B表中和A表中工号一样的员工姓名 注意 更新的表需要用全名 UPDATE Temp_B SET Temp_B.Emp_Name = a.Emp_Name FROM Temp_A a WHERE a.Emp_No = Temp_B.Emp_No
时间: 2024-10-11 17:10:20