要用动态语句:
exec ('select top '+@num+' News_news_id,News_news_title,News_news_type_id from News_news where News_news_type_id='+@typeid+' order by News_news_id desc')
exec ('select top '+@num+' News_news_id,News_news_title,News_news_type_id from News_news where News_news_type_id='+@typeid+' order by News_news_id desc')
exec ('select top '+cast(@num as varchar(10))+' News_news_id,News_news_title,News_news_type_id from News_news where News_news_type_id='+cast(@typeid as varchar(10))+' order by News_news_id desc')
CREATE PROCEDURE id_hydt
@typeid int,
@num int
AS
declare @sql varchar(2000)
set @sql='select top '+@num+' News_news_id,News_news_title,News_news_type_id from News_news where News_news_type_id='''+@typeid+''' order by News_news_id desc'
exec(@sql)
GO