列名称无效' @ clmn'和链接的服务器

时间:2015-05-13 13:37:32

标签: sql-server linked-server

你做这样的事情

declare @v int
set @v = 1
INSERT INTO [LinkedServer].[mydb].[dbo].my_table(clm1, clm2)
SELECT  @v , val
FROM    [LinkedServer].[mydb].[dbo].other_table

并获取

Invalid column name '@v'.

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

一种方法是做这样的事情:

declare @cmd nvarchar(max)
set @cmd = N'INSERT INTO [mydb].[dbo].my_table (clm1, clm2)
             SELECT @v , val
             FROM   [mydb].[dbo].other_table'
EXEC [LinkedServer].master..sp_executesql @cmd, N'@v int', @v