🧾SQL Server Stored Procedure 怎麼寫?SSMS 新手必學的預存程序教學(含範例與常見錯誤)
什麼是 Stored Procedure(預存程序)?用白話解釋 如果你把 SQL 想像成「你跟資料庫說要做什麼的指令」,那 Stored Procedure 就像是: 把一串常用的 SQL 步驟「打包成一個按鈕」,以後只要按一次就會自動完成。 對完全沒寫過的人來說,你可以把它想成: Excel 的巨集(Macro) :把一堆動作錄起來,以後一鍵執行 咖啡機按鈕 :你不需要每次研究怎麼磨豆、幾度水溫,你只要按「拿鐵」就會出來 Stored Procedure 的好處 可重複使用 :同樣的查詢/更新不用每次重寫 較好維護 :邏輯集中在資料庫端,改一次所有呼叫者都更新 安全性更好 :可以只授權執行 SP,不必給使用者表格權限 效能常常更好 :SQL Server 會對 SP 做最佳化(例如執行計畫快取) 在 SSMS 裡 Stored Procedure 通常怎麼寫? 你在 SSMS 裡新增一個 Stored Procedure,本質上就是寫一段 T-SQL,常見結構是: CREATE PROCEDURE :建立新的 SP ALTER PROCEDURE :修改既有 SP EXEC :執行 SP BEGIN...END :把多行邏輯包起來 GO :告訴 SSMS「這段到這裡是一個批次」 範例 1:最簡單的 Stored Procedure(無參數) 假設你常常要查詢最近 50 筆訂單: CREATE PROCEDURE dbo.usp_Order_GetRecent AS BEGIN SELECT TOP ( 50 ) OrderId, CustomerName, OrderDate, TotalAmount FROM dbo.Orders ORDER BY OrderDate DESC ; END ; GO 怎麼執行? EXEC dbo.usp_Order_GetRecent;...