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

请问,简单的存储过程运行出错

2012-01-09 
请教,简单的存储过程运行出错CREATEproctest@newsnumvarchar(20),@indextypevarchar(20)asdeclare@sqlvarc

请教,简单的存储过程运行出错
CREATE   proc   test
@newsnum   varchar(20),
@indextype   varchar(20)
as
declare   @sql   varchar(100)
set   @sql   =   'select   top   '   +   @newsnum   +   '   *   from   news   where   newstype   =     ( '   +   @indextype   +   ')   and   tag=checked   order   by   id   desc '
EXEC(@sql)
GO

检查语法的时候,提示语法检查成功,但是运行的时候总是提示

服务器:   消息   207,级别   16,状态   3,行   1
列名   '政策法规 '   无效。
服务器:   消息   207,级别   16,状态   1,行   1
列名   'checked '   无效。

我是这样执行的:Exec   test   '10 ', '政策法规 '



[解决办法]
set @sql = 'select top ' + @newsnum + ' * from news where newstype = ( ' ' ' + @indextype + ' ' ') and tag= ' 'checked ' ' order by id desc '

热点排行