我可以通过SQL Server 2008 R2中的连接条件从两个表中删除数据吗?

时间:2014-04-05 09:56:46

标签: sql sql-server-2008-r2

这是我的代码。

DELETE tbemp.emp_id, 
        tbadd.emp_id 
FROM  TBEMPLOYEE tbemp 
INNER JOIN TBADDRESS tbadd ON (tbemp.emp_id=tbadd.emp_id)

它不起作用。 SQL Server 2008 R2不运行它

3 个答案:

答案 0 :(得分:0)

希望这应该有用,安全一下,

DELETE TBEMPLOYEE FROM 
TBEMPLOYEE INNER JOIN 
TBADDRESS ON (TBEMPLOYEE.emp_id = TBADDRESS.emp_id)

您还可以在此处指定条件

WHERE COL IN ('A','B',...)

答案 1 :(得分:0)

您正在使用列名(DELETE tbemp.emp_id,tbadd.emp_id)代替表名并由其他人建议,Delete仅适用于单个表。

希望这对你有用 -

DELETE TBEMPLOYEE FROM 
TBEMPLOYEE INNER JOIN 
TBADDRESS ON (TBEMPLOYEE.emp_id = TBADDRESS.emp_id)

DELETE TBADDRESS FROM 
TBEMPLOYEE Right JOIN 
TBADDRESS ON (TBEMPLOYEE.emp_id = TBADDRESS.emp_id)

以相同的顺序执行。

答案 2 :(得分:0)

declare @Tbl table ( emp_id int)

DELETE from tbemp
output deleted.emp_id into @t

FROM  TBEMPLOYEE tbemp 
JOIN TBADDRESS tbadd ON tbemp.emp_id=tbadd.emp_id

DELETE from tbadd

FROM TBADDRESS tbadd 
join @T T ON T.emp_id=tbadd.emp_id