Query a dynamic table...HELP! - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Query a dynamic table...HELP!

jshulljshull Posts: 2Member
Hello,

I am trying to write a query to pull data from a table that is system generated daily at midnight. I tried:

declare @tablename varchar(50) set @tablename = (select name from sysobjects where crdate = '05/01/2003') select * from @tablename

But I get an error on 'select * from @tablename' (must declare @tablename)

Any assistance is GREATLY APPRECIATED!!!!

Comments

  • DaedaliusDaedalius Posts: 30Member
    I think what you want to do is create a string and then you want to execute the string:

    DECLARE @SQL NVARCHAR(128);
    SET @SQL = N'SELECT * FROM '+@tablename+';'
    EXECUTE sp_executesql @SQL


    : Hello,
    :
    : I am trying to write a query to pull data from a table that is system generated daily at midnight. I tried:
    :
    : declare @tablename varchar(50) set @tablename = (select name from sysobjects where crdate = '05/01/2003') select * from @tablename
    :
    : But I get an error on 'select * from @tablename' (must declare @tablename)
    :
    : Any assistance is GREATLY APPRECIATED!!!!
    :

  • jshulljshull Posts: 2Member
    Worked like a charm. Thank you for the help!!!!


    : I think what you want to do is create a string and then you want to execute the string:
    :
    : DECLARE @SQL NVARCHAR(128);
    : SET @SQL = N'SELECT * FROM '+@tablename+';'
    : EXECUTE sp_executesql @SQL
    :
    :
    : : Hello,
    : :
    : : I am trying to write a query to pull data from a table that is system generated daily at midnight. I tried:
    : :
    : : declare @tablename varchar(50) set @tablename = (select name from sysobjects where crdate = '05/01/2003') select * from @tablename
    : :
    : : But I get an error on 'select * from @tablename' (must declare @tablename)
    : :
    : : Any assistance is GREATLY APPRECIATED!!!!
    : :
    :
    :

  • rpalserrpalser Posts: 1Member
    I am trying to declare a table as a variable use the code below, however in query analyzer I still get the error "Must Declare the Variable @tablename". How did you get it to "work like a charm?"

    : Worked like a charm. Thank you for the help!!!!
    :
    :
    : : I think what you want to do is create a string and then you want to execute the string:
    : :
    : : DECLARE @SQL NVARCHAR(128);
    : : SET @SQL = N'SELECT * FROM '+@tablename+';'
    : : EXECUTE sp_executesql @SQL
    : :
    : :
    : : : Hello,
    : : :
    : : : I am trying to write a query to pull data from a table that is system generated daily at midnight. I tried:
    : : :
    : : : declare @tablename varchar(50) set @tablename = (select name from sysobjects where crdate = '05/01/2003') select * from @tablename
    : : :
    : : : But I get an error on 'select * from @tablename' (must declare @tablename)
    : : :
    : : : Any assistance is GREATLY APPRECIATED!!!!
    : : :
    : :
    : :
    :
    :

Sign In or Register to comment.