• 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.