Sql 分配动态表名和链接服务器名
是否有任何方法可以动态更改指定的表名以及指定的LinkedServer名称,而不会导致远程Oracle SQL字符串(>8000个字符)被引用为标量变量,从而导致脚本中断Sql 分配动态表名和链接服务器名,sql,sql-server,tsql,Sql,Sql Server,Tsql,是否有任何方法可以动态更改指定的表名以及指定的LinkedServer名称,而不会导致远程Oracle SQL字符串(>8000个字符)被引用为标量变量,从而导致脚本中断 INSERT INTO dbo.Table_1 EXEC ( @mySQL ) AT Linked_Server_1 您可以使整个语句动态化,如: DECLARE @s varchar(max) SET @s = 'INSERT INTO dbo.Table_1 EXEC ( ''' + @mySQL + ''' ) AT
INSERT INTO dbo.Table_1 EXEC ( @mySQL ) AT Linked_Server_1
您可以使整个语句动态化,如:
DECLARE @s varchar(max)
SET @s = 'INSERT INTO dbo.Table_1 EXEC ( ''' + @mySQL + ''' ) AT Linked_Server_1'
EXEC( @s )
您可能需要转义@mySQL变量中的任何撇号。这有点疯狂:
DECLARE @s varchar(max)
SET @s = 'INSERT INTO dbo.Table_1 EXEC ( ''' + replace(@mySQL, '''', '''''') + ''' ) AT Linked_Server_1'
EXEC( @s )
当我分别对表名和linkedserver名进行硬编码时,效果很好。我的问题是我需要它来接受这两个方面的动态值。非常感谢,加上撇号转义就像一个符咒:)