首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

变量的SQL语句exec老是提示语法异常,麻烦大家看看

2012-02-24 
变量的SQL语句exec老是提示语法错误,麻烦大家看看declare@csqlvarchar(8000),@topnvarchar(10)set@topn10

变量的SQL语句exec老是提示语法错误,麻烦大家看看
declare   @csql   varchar(8000),@topn   varchar(10)
set   @topn   =   10
set   @csql   =   'insert   into   traff(bh,tf,t1,t2,t34,t50,t8)   select   top   '+@topn+ '   ' 'SJ-07070003 ' '   as   bh, ' 'SJ-07070003001 ' '   as   tf, ' '20 ' '   as   t1, ' '48 ' '   as   t2, ' '24F0TXUB3 ' '   as   t34, ' 'fedr ' '   as   t50,2200   as   t8   from   sysid   where   not   exists(select   *   from   traff   where   traff.tf   like   ' 'SJ-0707____ ' '+Right(10001+sysid.id-1,4)) '
exec   @csql


上面的语句执行后,老是提示:


服务器:   消息   203,级别   16,状态   2,行   5
名称   'insert   into   traff(bh,tf,t1,t2,t34,t50,t8)   select   top   10   'SJ-07070003 '   as   bh, 'SJ-07070003001 '   as   tf, '20 '   as   t1, '48 '   as   t2, '24F0TXUB3 '   as   t34, 'fedr '   as   t50,2200   as   t8   from   sysid   where   not   exists(select   *   from   traff   where   traff.tf   like   'SJ-0707____ '+Right(10001+sysid.id-1,4)) '   不是有效的标识符。


请问问题出在哪里????



[解决办法]
exec @csql
改为:
exec(@csql)
[解决办法]
exec (@csql)

热点排行