向动态在数据库中选择点击量最高的前N篇文章,一开始在存储过程里直接写:Select top @count * from article order by hits desc 但是通不过,说@count附近有语法错误,后来查了查,原来不能在存储过程里这样用变量,接着就改成了如下方式:
CREATE PROCEDURE [dbo].[wq_GetTopSites]
@count int=10--要得到的数量,也可由用户指定
AS
BEGIN
EXEC('SELECT TOP '+ @count +' * FROM wq_site ORDER BY hits DESC')
END
GO
这样就能用了,上面写法的来源是利用存储过程分页的程序。@count int=10--要得到的数量,也可由用户指定
AS
BEGIN
EXEC('SELECT TOP '+ @count +' * FROM wq_site ORDER BY hits DESC')
END
GO