在資料庫開發中,存儲過程一直是提升效能、封裝邏輯、簡化維護的關鍵工具。SQL Server 2005 進一步強化了其功能,以下整理出三大核心優點,並附上完整的建立語法與實戰範例,幫助開發者快速上手。
CREATE PROCEDURE [程序名稱] [;編號]
@參數名 資料類型 = 預設值 [OUTPUT],
...
AS
SQL_陳述式
關鍵字說明:
OUTPUT:標記該參數為輸出參數,可將值回傳給呼叫端。編號:選用參數,用於將同名存儲過程分組,方便以單一 DROP PROCEDURE 移除整組程序。以下示範建立測試資料庫 TEST、資料表 Col,以及一個可接收參數並回傳執行狀態的存儲過程 Cp_WrtCol。
CREATE DATABASE TEST;
GO
USE TEST;
GO
CREATE TABLE [dbo].[Col](
[Col01] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[Col02] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
CONSTRAINT [PK_Col] PRIMARY KEY CLUSTERED ([Col01] ASC)
) ON [PRIMARY];
CREATE PROCEDURE Cp_WrtCol
@Col01 varchar(10) = 'default',
@Col02 varchar(10) = 'default',
@Ret bit = 1 OUTPUT
AS
BEGIN
INSERT INTO Col VALUES (@Col01, @Col02);
INSERT INTO Col VALUES (@Col01, @Col02);
IF @@ERROR <> 0
SET @Ret = 0;
END
GO
在 SSMS 中對該存儲過程右鍵選擇「執行存儲過程」,觀察輸出參數 @Ret 的值:若為 0 表示寫入過程發生錯誤;若為 1 則代表成功。此機制可讓應用層輕鬆判斷操作結果,實現錯誤處理與流程控制。
善用存儲過程不僅能提升 SQL Server 2005 的執行效能,更能將業務邏輯集中管理,降低系統耦合度。掌握其語法與參數機制,是資料庫開發者的必修課。