Thursday, March 22, 2012

creating tables using a variable

Hi ,
i actually wanted to create a table with values from a
variable so as not to overwrite the same table in the same
database
i have done the followings
1 --> declare @.tblname as char(100)
2 -->set @.tblname = 'tbl123' + convert(char(10) , getdate
() , 112)
3 --> select * into @.tblname from xyz
but when i parse these satement , it failed at step 3
citing syntax error
how do i actually create a table with name from a
variable ?
thks & rdgs
Hi,
You have to use dynamic sql execution. See the below piece of code.
declare @.tblname char(100)
declare @.sql nvarchar(200)
set @.tblname = 'tbl123' + convert(char(10) , getdate() , 112)
set @.sql='select * into '+@.tblname +' from sysusers'
exec sp_executesql @.sql
exec ('select * from '+@.tblname)
Thanks
Hari
MCDBA
"maxzsim" wrote:

> Hi ,
> i actually wanted to create a table with values from a
> variable so as not to overwrite the same table in the same
> database
> i have done the followings
> 1 --> declare @.tblname as char(100)
> 2 -->set @.tblname = 'tbl123' + convert(char(10) , getdate
> () , 112)
> 3 --> select * into @.tblname from xyz
> but when i parse these satement , it failed at step 3
> citing syntax error
> how do i actually create a table with name from a
> variable ?
> thks & rdgs
>
|||thks Hari =)
>--Original Message--
>Hi,
>You have to use dynamic sql execution. See the below
piece of code.
>declare @.tblname char(100)
>declare @.sql nvarchar(200)
>set @.tblname = 'tbl123' + convert(char(10) , getdate() ,
112)[vbcol=seagreen]
>set @.sql='select * into '+@.tblname +' from sysusers'
>exec sp_executesql @.sql
>exec ('select * from '+@.tblname)
>Thanks
>Hari
>MCDBA
>"maxzsim" wrote:
a[vbcol=seagreen]
same[vbcol=seagreen]
getdate
>.
>

No comments:

Post a Comment