預存程序
[SQL 敘述] [字串函數] [聚合函數] [資料型別] [預存程序] [參考文章] [軟體安裝] [解說網頁] [相關網站] [名詞釋義]

首頁
SQL 敘述
字串函數
聚合函數
資料型別
預存程序
參考文章
軟體安裝
解說網頁
相關網站
名詞釋義

撰寫 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)

是不是很簡單呢!

希望這篇文章對你有幫助!

 

資料來源:搜尋中...

◎如意網站 SQL教學網◎