sharath.chalamgari (7/7/2013)
are you looking for something like this
exec ('select @liststr = coalesce(@liststr+'+''''+','+''''+' ,'+''''+''''+') + quotename(column_name)
from '+ @server + '.'+ @db+ '.information_schema.columns where table_name = '+ ''''+ @table+'''')
Almost:
declare @server varchar(64)
declare @db varchar(64)
declare @table varchar(64)
declare @liststr nvarchar (max)
select @server = quotename(parsename('[server].j3688802s.dbo.sample_web', 4))
select @db = parsename('[server].j3688802s.dbo.sample_web', 3)
select @table = parsename('[server].j3688802s.dbo.sample_web', 1)
print (@server)
print (@db)
print (@table)
exec ('select @liststr = coalesce(@liststr+'+''''+','+''''+' ,'+''''+''''+') + quotename(column_name)
from '+ @server + '.'+ @db+ '.information_schema.columns where table_name = '+ ''''+ @table+'''')
[server]
j3688802s
sample_web
Msg 137, Level 15, State 1, Line 1
Must declare the scalar variable "@liststr".
I was running in to this yesterday with a different set up, and couldn't figure out why.