How to use variable in target database name for insert statement?

后端 未结 3 779
予麋鹿
予麋鹿 2021-01-23 11:09

I want to declare a server name and use this name in an insert statement. So far all i got is an error message.

declare @machine nvarchar(6);
declare @bar nvarch         


        
3条回答
  •  甜味超标
    2021-01-23 11:32

    I've had this problem before and the only work around I found is dynamic sql

    declare @machine nvarchar(6)
    declare @bar nvarchar(3)
    declare @sql varchar(2000)
    set @machine = 'Name00'
    set @bar = 'foo'
    
    
    Set @sql ='insert into ' + @machine + '.dbname.dbo.table (column1, column2)
    select (column1, column2)
    from table
    where column1 = ''' + @bar + ''''
    
    --print (@sql)
    exec (@sql)
    

提交回复
热议问题