关于存储过程的参数和ASP优化问题

来源:互联网 发布:淘宝写文案范文 编辑:程序博客网 时间:2024/04/29 01:14
CREATE   PROCEDURE   GetNews(
@Columns   Varchar(50),
@Module   Varchar(50),
@Isintro   Bit
)
  AS
begin
select     top   10   id,title,Columns,module,picurl,hits,ischeck,isintro     from   news   where     Columns=@Columns   and   Module=@Module     and   ischeck=1   and   isintro=@Isintro   order   by   id   desc
end
GO

(问题一:)以上存储过程没有问题,但是我想将top   10   也变成参数调用,也就是自己调用该存储过程时给他一个参数,比如@num得到我想要的多少条记录,而不是固定10条
我尝试过这样,select   top   @num   id,title,columns   from   ......
但这样老提示错误,不知道该怎样写?

(问题二:)
我的这个存储过程目的是在网站首页调用新闻,希望速度快一点,
比如首页A模块:
Set   cmd=server.createobject("adodb.command")
cmd.activeconnection=conn
cmd.commandtype=4
cmd.commandtext="Getnews"
cmd("@Columns")="资讯栏目"
cmd("@Module")="焦点新闻"
cmd("@Isintro")=0
set   rs=cmd.execute()
.....
我调用的时候,用这样的方式不知道是否合理,还有我在首页每个模块中,比如B模块,我再调用该存储过程时,是先将A模块(如上面)的set   cmd=nothing   关闭,还是直接使用
set   rs=cmd.execute()
...
不关闭,在页面执行完最后再关闭呢?
像上面那样调用存储过程时候可行?   有哪些方法可以提高效率?
欢迎讨论,提供意见或经验,大家分享,谢谢! 
原创粉丝点击