当我使用exec动态创建表时,它会出错

时间:2015-02-24 16:22:08

标签: sybase sybase-ase

declare @a char(11),@b varchar(100)    
select @a = 'Actual_'+convert(char(4),datepart(year,getdate()))     
select @b='create table table_name ('+@a+' float null)'    
exec @b    

在最后一个命令之后,我收到消息名称

  

'创建表table_name(Actual_2015 float NULL)'是无效的标识符

有人可以告诉我,为什么? 我正在研究ASE isql SYBASE 15

1 个答案:

答案 0 :(得分:0)

在exec之后缺少括号,

declare @a char(11),@b varchar(100)    
select @a = 'Actual_'+convert(char(4),datepart(year,getdate()))     
select @b='create table table_name ('+@a+' float null)'    
exec (@b)