撰寫 Stored Procedures撰寫 Stored Procedures利用 ADO 來存取資料庫是一件既輕鬆又簡單的工作, 不過有的時候又臭又長的 SQL 敘述實在很煩人, 這篇文章將介紹如何利用 Stored Procedure 來簡化你的 ASP 程式 本質上 Stored procedures (房屋出租有時又稱 Sproc) 就是儲存在資料庫中的 Script 或 Batch, 撰寫 Sproc 並不是太難的一件事, 通常你會這樣查詢資料庫 Select * From Table 如何將它變成 Sproc? 以下是簡單的例子 Create Proc sp_SprocName1 As Select * From Table Go 現買屋在 Sproc 已成功的建立, 你可以試著去執行它 Exec sp_SprocName1 你可以為你的 Sproc 取任何的名字, 在 SQL 7.0 的命名原則以 128 個字元為限, SQL 並不規定 Stores procedure 之命名要以 sp_ 開頭, 但強烈建議你這麼做! 接下來我們再做些酒店經紀例子, 例如在查詢中加入 where 子句, Select * From Table Where Column1 = 0 , 這裡你是不是會覺得 Column1 的值如果可以改為一個輸入參數由我們輸入, 那就更加完美! Create Proc sp_SprocName2 @MyInput int As Select * From Table 酒店經紀 Where Column1 = @MyInput Go 完整的參數宣告語法為 @parameter_name datatype [= default|Null] [Varying] [Output] 如果你未提供 default 值, 則這個參數會被假設為必要輸入的, 在宣告參數時你還必須指定資料型態, 應為合法的 SQL 酒店經紀Server 資料型態 在 Sproc 接收到輸入值後, 便將它存放在 @MyInput 變數中, 變數以 @ 符號開頭, 以 @@ 開頭的則為全域變數, 你可以這麼執行這個 Sproc Exec sp_SprocName2 0 我們再來看一個 Insert 的例子 Create Proc sp_SprocName3 辦公室出租@Column1 varchar(20) @Column2 varchar(36) = Null As Insert Into Table Values (@Column1, @Column2) Go 在這例子中, Column2 的值即為選擇性輸入, 你可以這麼執行 Exec sp_SprocName3 'SomeString' 最後要告訴你如關鍵字行銷何在 ASP 中使用 Stored procedure, 不使用 Sproc 時你會這麼做 Set oConn = Server.CreateObject("Adodb.Connection") oConn.Open YpurDSN sSQL = "Select * From Table" Set oRs = oConn.Execute(sSQL) 使用 Sproc 時, 這樣改就可以了 東森房屋Set oConn = Server.CreateObject("Adodb.Connection") oConn.Open YourDSN sSQL = "sp_MySproc" Set oRs = oConn.Execute(sSQL) 如果你的 Sproc 需要輸入參數, 你可以這麼做 Set oConn = Server.CreateObject("Adodb.Connection") 好房網oConn.Open YourDSN sSQL = "sp_MySproc " & MyInput Set oRs = oConn.Execute(sSQL) 是不是很簡單呢! 希望這篇文章對你有幫助!


.msgcontent .wsharing ul li { text-indent: 0; }



分享

Facebook
九份民宿Plurk
YAHOO!

創作者介紹

日本人

pj63pjbkqb 發表在 痞客邦 PIXNET 留言(0) 人氣()