循环访问服务器上的数据库,并更新数据

Cur*_*urt 6 t-sql loops sql-server-2005

我有一个包含多个数据库的服务器.我需要遍历这些数据库并在每个数据库中的一个表中更改一个记录中的值.如何才能做到这一点?

rlb*_*usa 12

EXEC sp_MSForEachDB ' Use ?; UPDATE ?.dbo.MyTable SET MyValue=999  '
Run Code Online (Sandbox Code Playgroud)


And*_*mar 8

您可以使用动态SQL:

declare @query varchar(max)
set @query = ''

select  @query = @query + 'UPDATE ' + name + 
            '.dbo.YourTable set value = 1 where id = 2; '
from    master.sys.databases
where   name <> 'master'

exec (@query)
Run Code Online (Sandbox Code Playgroud)