| GZU521.COM学习网 |
|
[ 关键字 ] 存储过程,使用,学习 学习使用存储过程(stored procedure),是asp程序员的必须课之一。所有的大型数据库都支持存储过程,比如Oracle、ms sql等,(但ms access不支持,不过,在access里可以使用参数化的查询)。 使用存储过程有许多好处,它可以封装复杂的数据逻辑,充分发挥大型数据库本身的优势。我们知道,asp并不适合做复杂的数据运算,而通过old db访问数据库,由于数据需要在asp和数据库之间传递,相当消耗系统资源。事实上,如果数据库仅仅起着数据存储的作用,那么它的功能是远远没有得到利用的。 关于如何创建存储过程,请参考ms sql的相关文档。 本文介绍存储过程如何在asp中运用。 简单的一个sql语句: select id,name,picture,time,duty from employ 我们可以创建一个存储过程: create procedure sp_employ as select id,name,picture,time,duty from employ go 而sql语句: select id,name,picture,time,duty from employ where id=10230 对应的存储过程是:(用alter替换我们已有的存储过程) alter procedure sp_employ @inid int as select id,name,picture,time,duty from employ where id=@inid go 下面对比一下sql和存储过程在asp中的情况。首先看看直接执行sql的情况: <% dim conn, strsql, rs set conn = server.createobject("adodb.connection") conn.open "dsn=webdata;uid=user;pwd=password" strsql = " select id,name,picture,time,duty from employ " set rs = conn.execute(strsql) %> 再看看如何执行stored procedure: <% dim conn, strsql, rs set conn = server.createobject("adodb.connection") conn.open "dsn=webdata;uid=user;pwd=password" ’make connection strsql = "sp_employ" set rs = conn.execute(strsql) %> 而执行带参数的stored procedure也是相当类似的: <% dim conn, strsql, rs, myint myint = 1 set conn = server.createobject("adodb.connection") conn.open "dsn=webdata;uid=user;pwd=password" strsql = "sp_mystoredprocedure " & myint set rs = conn.execute(strsql) %> 你可能觉得在asp中使用存储过程原来是这样的简单。对!就是这么简单。 |
责任编辑:gzu521