我将以下记录从excel导入数据库。记录数为5,00,000。
EmpId
Name
City
CityId
1
Ramesh
LA
?
2
Kumar
NewYork
?
我需要从其他表中获取CityId并插入此CityId
另一个表有city的别名和cityId
CityId
AliasName
1
LA
1
LosAngels
1
Los Angels
1
LA(USA)
我想调用存储过程来更新所有500000条记录,因为函数不能用于UPDATING记录。
我需要从别名表中为每位员工更新CityId字段
答案 0 :(得分:1)
你可以这样做:
update employee
set cityid = b.cityid
from employee as a inner join city as b on a.city = b.aliasname
答案 1 :(得分:0)
希望这可以帮助你。
UPDATE UserDetails
SET UserDetails.CityID = City.ID
FROM City
WHERE City.AliasName = UserDetails.City
答案 2 :(得分:0)
将City
设置为外键而不是添加冗余数据列会不会更容易。
要回答您的问题,您可以通过运行以下查询来实现此目的。如果需要偶尔运行,也可以将其转换为存储过程。
UPDATE Employees SET CityId = (Select CityId FROM Cities where AliasName = City)
答案 3 :(得分:0)
以下查询将更新所需数据:
UPDATE Employees SET CityId = ISNULL((Select CityId FROM Cities where AliasName = City),0)