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)
您可以使用动态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)