Select from parameter table

  • I have this query

    declare @TableName varchar(50)

    set @TableName = 'Hosea_tblDATA_NOTES'

    select * from @TableName

    Hosea_tblDATA_NOTES is the name of the table, I'm passing it to the parameter then select from it.

    as it is not working, with error "Must declare the table variable "@TableName"."

    How can I achive that, to pass a table name as a parameter to a query then use that name of the table inside the query to select from it.

  • declare @TableName varchar(50)

    set @TableName = 'Hosea_tblDATA_NOTES'

    DECLARE @sql NVARCHAR(MAX) = N'select * from ' + @TableName;

    EXEC sp_executeSQL @sql;

    You cannot SELECT from a local string variable as you're trying to do without resorting to dynamic SQL.


    My mantra: No loops! No CURSORs! No RBAR! Hoo-uh![/I]

    My thought question: Have you ever been told that your query runs too fast?

    My advice:
    INDEXing a poor-performing query is like putting sugar on cat food. Yeah, it probably tastes better but are you sure you want to eat it?
    The path of least resistance can be a slippery slope. Take care that fixing your fixes of fixes doesn't snowball and end up costing you more than fixing the root cause would have in the first place.

    Need to UNPIVOT? Why not CROSS APPLY VALUES instead?[/url]
    Since random numbers are too important to be left to chance, let's generate some![/url]
    Learn to understand recursive CTEs by example.[/url]
    [url url=http://www.sqlservercentral.com/articles/St

  • I'm still learning dynamic sql, thanks for help.

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply