动态SQL语句,插入时报错
create   table   t_test 
 ( 
    t_t1   varchar(30), 
    t_t2   varchar(40) 
 ) 
 go 
 declare   @sql   varchar(3000) 
 declare   @t1   varchar(20) 
 declare   @t2   varchar(30) 
 declare   @tName   varchar(50) 
 set   @t1= 'a ' 
 set   @t2= 'b ' 
 set   @tName= 't_test ' 
 set   @sql   =    'insert   into    '   +   @tName   +    '(t_t1,t_t2)   values   ( '   +   @t1   +    ', '   +   @t2   +    ') ' 
 exec(@sql)   
 错误:在此上下文中不允许使用    'a '。此处只允许使用常量、表达式或变量。不允许使用列名。
------解决方案--------------------改为: 
 set @sql =  'insert into  ' + @tName +  '(t_t1,t_t2) values ( ' ' ' + @t1 +  ' ' ', ' ' ' + @t2 +  ' ' ') '