请教,简单的存储过程运行出错
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 '