|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。前些天,阿里西西web团队(Alixixi.com)在开辟一个体系平台时,必要经由过程存储历程挪用多个表的几个字段,兼并到一个一时表中,并举行排序前往给ASP挪用。
上面,我把履历分享出来:
1、存储历程部分:
以下是存储历程部分:
CREATEPROCEDURE[dbo].[alixixi]
@sNumint,
@sOrdervarchar(20)
AS
SETnocounton
createtable#btable(idint,channelidint,classidint,titlevarchar(250),imageurlvarchar(250),htmlfiledatevarchar(250),addtimedatetime)
execute(’insertinto#btableselecttop’+@sNum+’id,fid,cid,title,imageurl,myurl,writetimefromali_tb1whereisbest=1’)
execute(’insertinto#btableselecttop’+@sNum+’id,fid,cid,topic,photourl,siteurl,addtimefromali_tb2whereisbest=1’)
execute(’select*from#btableorderby’+@sOrder+’desc’)
GO
这个存储历程的感化是创建一个名为alixixi的存储历程,并带有两个参数sNum及sOrder,感化是能够天真的经由过程参数把持显现前往的纪录数和排序办法。
在MSSQL查询剖析器里,我们能够经由过程如许的情势实行存储历程来前往两个表各5笔记录(一共10条):
execalixixi5,’addtime’
上面,我们说说在ASP中挪用的办法(Conn为数据库毗连,请反省你的情况,相干数据库毗连代码这里不列出)。
以下是援用片断:
dimcmd
SetRs=Server.CreateObject("ADODB.Recordset")
SetCmd=Server.CreateObject("ADODB.Command")
SetCmd.ActiveConnection=Conn
Cmd.CommandText="alixixi"
Cmd.Parameters.appendCmd.CreateParameter("@sNum",3,1,4,50)
Cmd.Parameters.appendCmd.CreateParameter("@sOrder",200,1,20,"addtime")
Cmd.CommandType=4
SetRs=Cmd.Execute
SetCmd=Nothing
IfNotRs.EOFThen
dowhilenotrs.eof
response.writers(0)&"<br>"
rs.movenext
loop
Else
Response.write"无纪录"
EndIf
SetRs=Nothing
经由过程以上办法,我们就能够完成ASP挪用带参数的MSSQL存储历程,并前往一时表纪录集。
因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。 |
|