日期:2014-05-18  浏览次数:20387 次

看一下存储过程,不知道哪错了,急死了

CREATE   procedure   GetNewsDetails
(
@typeid   int,
                  @size   int

)
as
select   top   @size   newsid,newstitle,newsauthor,newshint,uploadtime   from   news   where   newstype=@typeid   order   by   uploadtime   desc

GO
我想动态的取出多少条新闻,可是说@size有错误,是不是那个地方不能这样用啊


------解决方案--------------------
CREATE procedure GetNewsDetails
(
@typeid int,
@size int

)
as
declare @sql varchar(8000)

set @sql = 'select top ' + convert(varchar(10),@size) + ' newsid,newstitle,newsauthor,newshint,uploadtime from news where newstype= ' + convert(varchar(10),@typeid) + ' order by uploadtime desc '

EXECUTE sp_executesql @sql

GO