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;

 

 

<完>

posted @ 2014-09-10 09:45  Thirty  阅读(563)  评论(0)    收藏  举报