學習使用儲存過程(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
asselect 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
asselect 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中使用儲存過程原來是這樣的簡單。對!就是這麼簡單。
在ASP中使用儲存過程
學習使用儲存過程 stored procedure 是asp程式設計師的必須課之一。所有的大型資料庫都支援儲存過程,比如oracle ms sql等,但ms access不支援,不過,在access裡可以使用引數化的查詢 使用儲存過程有許多好處,它可以封裝複雜的資料邏輯,充分發揮大型資料庫本身的優勢...
在Asp中使用儲存過程
為了提高asp程式的效率,有時需要在asp中使用使用sql server的儲存技術,下面簡單作乙個介紹。儲存過程的建立 這裡只簡單介紹如何在sql server的企業管理器中如何建立儲存過程 開啟企業管理器enterprise manager 選擇伺服器組 sql server group 伺服器 ...
在ASP中使用儲存過程 轉
學習使用儲存過程 stored procedure 是asp程式設計師的必須課之一。所有的大型資料庫都支援儲存過程,比如oracle ms sql等,但ms access不支援,不過,在access裡可以使用引數化的查詢 使用儲存過程有許多好處,它可以封裝複雜的資料邏輯,充分發揮大型資料庫本身的優勢...