存储程序

-{zh-cn:存储过程; zh-tw:預存程序;}-,又稱儲存程序(),是在資料庫儲存複雜程序,以便外部程式呼叫的資料庫物件,可以視為資料庫的一種函數或子程序。

優缺點
優點
預存程序具有下列的好處:

  • 預存程序可封裝,並隱藏複雜的商業邏輯。
  • 預存程序可以回傳值,並可以接受參數。
  • 預存程序無法使用 SELECT 指令執行,因為它是子程序,與檢視表、資料表或使用者定義函數不同。
  • 預存程序可以用在資料檢驗,強制實行商業邏輯等。

缺點
*預存程序,往往客製化於特定的資料庫上,因為支援的程式語言不同。當切換到其他廠商的資料庫系統時,需要重寫原有的預存程序。
*預存程序的效能調校與撰寫,受限於各種資料庫系統。

支援預存程序的資料庫
範例
預存程序是資料庫物件之一,必須使用資料定義語言來建立,例如:
;以下範例,以Microsoft的SQL Server所以採用的T-SQL語法表示。

CREATE PROCEDURE usp_AddProduct
(
@Barcode varchar(13),
@Caption nvarchar(50)
)
AS
BEGIN

IF LEN(@Barcode)

外部程序需要使用 EXECUTE 或 CALL 來呼叫預存程序。

EXEC usp_AddProduct '2293891100011', 'MyProductCaption'

评论 (0)

  • 还没有评论,来抢沙发吧。