SQL脚本扫描数据表1,找到特定字段,然后将其复制到table2中

时间:2012-08-03 17:18:28

标签: sql sql-server

任何人都可以帮我修复此脚本吗?

  

我收到此错误:消息4104,级别16,状态1,行1多部分   无法绑定标识符“#Temp3.EmpID”。

错误来自: - 更新到Keyshop.EmployeeTable UPDATE EmployeeTable SET Status ='False'WHERE#Temp3.EmpID = EmployeeTable.EmpID

该脚本非常自我解释,但如果您需要我提供更多信息,请告诉我。 谢谢

-- Update into Keyshop.EmployeeTable
UPDATE EmployeeTable SET Status = 'False' WHERE #Temp3.EmpID = EmployeeTable.EmpID

2 个答案:

答案 0 :(得分:1)

这不是有效的更新语句,因为它引用了不在UPDATE子句或可选FROM子句中的表

UPDATE EmployeeTable
 SET Status = 'False' 
WHERE #Temp3.EmpID = EmployeeTable.EmpID

使用IN进行此操作有多种方法可能是最容易理解的

UPDATE EmployeeTable
 SET Status = 'False' 
WHERE EmployeeTable.EmpID IN (SELECT EmpID  FROM #Temp3)

答案 1 :(得分:0)

转换这些家伙。而不是:

UPDATE EmployeeTable SET Status = 'False' WHERE #Temp3.EmpID = EmployeeTable.EmpID

有这个

UPDATE EmployeeTable SET Status = 'False' WHERE EmployeeTable.EmpID in (SELECT EmpID  FROM #Temp3)

编辑:我错过了#Temp3.EmpID是一个表,而不是一个变量。