How To Use Variable In Target Database Name For Insert Statement?
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 nvarchar(3); set @machine
Solution 1:
You will have to use dynamic sql for this. Try the following:
declare@machine nvarchar(6);
declare@bar nvarchar(3);
declare@query nvarchar(4000)
set@machine='Name00';
set@bar='foo'set@query='insert into '+@machine+'.dbname.dbo.table (column1, column2) select (column1, column2) from table where column1 = '''+@bar+''''execute dbo.sp_executesql @querySolution 2:
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@sqlvarchar(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)
Post a Comment for "How To Use Variable In Target Database Name For Insert Statement?"