-{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)