[英]SQL server linked server update
当前正在使用一个脚本,该脚本可以在链接的服务器之间更新许多不同的表。 我使用08/12 SQL Server Management Studio。
我遇到一个问题,尝试将链接服务器字符串设置为变量,因此我可以在开始时进行设置,并在需要时通过脚本进行引用。 我一直在假设我可以将其声明为本地变量,就像我脚本的其他要更新本地表/服务器的部分一样,但是在运行脚本时,我收到了不正确的语法错误代码,我的链接服务器字符串变量位于。
我的代码结构如下:
declare @string varchar(max)
set @string = '[server,instance].[database].dbo.table1'
update @string
set field = updatevariable
where record = identifier
是否可以将链接服务器用作变量?
您可以动态构造SQL Update字符串,然后将其传递给exec
。 例:
declare
@srv nvarchar(max) = N'[server].[db].[dbo].[table]',
@id int = 100,
@value nvarchar(max) = N'some value',
@sql nvarchar(max)
set @sql = N'update ' + @srv
+ ' set field = ''' + @value + ''' '
+ ' where record = ' + cast(@id as nvarchar)
exec(@sql)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.