你做这样的事情
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'.
如何解决这个问题?
答案 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