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()
...
不关闭,在页面执行完最后再关闭呢?
像上面那样调用存储过程时候可行? 有哪些方法可以提高效率?
欢迎讨论,提供意见或经验,大家分享,谢谢!
@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()
...
不关闭,在页面执行完最后再关闭呢?
像上面那样调用存储过程时候可行? 有哪些方法可以提高效率?
欢迎讨论,提供意见或经验,大家分享,谢谢!