Sql 多张表关联更新[删除]语句_不使用触发器[表外键]
2种思路,1是表连接查询后更新,2是使用sql server 2008提供的merge语句
1 UPDATE t1 2 SET t1.NAME = t2.name 3 FROM dbo.Table_1 t1 4 INNER JOIN dbo.Table_2 t2 ON t1.id = t2.id 5 WHERE t2.id = 1 6 7 MERGE INTO dbo.Table_1 t1 8 USING (SELECT id, name FROM dbo.Table_2 WHERE id = 1) t2 9 ON t1.id = t2.id 10 WHEN MATCHED THEN 11 UPDATE SET t1.name = t2.NAME; 12 13 14 DELETE FROM t1 15 FROM dbo.Table_1 t1 16 INNER JOIN dbo.Table_2 t2 ON t1.id = t2.id 17 WHERE t2.id = 1 18 19 20 MERGE INTO dbo.Table_1 t1 21 USING (SELECT id, name FROM dbo.Table_2 WHERE id = 1) t2 22 ON t1.id = t2.id 23 WHEN MATCHED THEN 24 DELETE;
<完>
浙公网安备 33010602011771号