EXEC sp_Name @param,適合低頻寬環境接受輸入參數 → 執行 T-SQL 批次 → 透過結果集/輸出參數/回傳代碼回傳結果。概念接近一般程式語言函式,易上手。
SELECT Product, Quantity FROM Inventory WHERE Warehouse = 'FL';
CREATE PROCEDURE sp_GetInventory
@location varchar(10)
AS
SELECT Product, Quantity
FROM Inventory
WHERE Warehouse = @location;
EXEC sp_GetInventory 'FL'; -- 佛州倉管
EXEC sp_GetInventory 'NY'; -- 紐約倉管
| ID | Product | Warehouse | Quantity |
|---|---|---|---|
| 142 | Green beans | NY | 100 |
| 214 | Peas | FL | 200 |
| 825 | Corn | NY | 140 |
| 512 | Lima beans | NY | 180 |
| 491 | Tomatoes | FL | 80 |
| 379 | Watermelon | FL | 85 |
預存程序是 SQL Server 開發的基石,善用之可兼顧效能、安全與維護性。