表中的Foreach项更新另一个表T-sql

时间:2017-01-16 15:26:25

标签: sql sql-server tsql

我有以下更新声明

Declare @customerName varchar(40)
Declare @age int

UPDATE [somedatabase].[contact] set age = @age where name = @customerName; 

我还有一个单独的表,可以调用名称和年龄的cusHash。名字是独一无二的。我想阅读cusHash并为其所有值运行我的更新语句。

1 个答案:

答案 0 :(得分:5)

不是逐个遍历cusHash的值,而是使用带有join子句的update语句会容易得多:

UPDATE co
SET    co.age = ch.age 
FROM   [somedatabase].[contact] co
JOIN   [somedatabase].[cusHash] ch ON co.name = ch.name