預存程序 是為完成特定功能的一組 SQL 陳述式集合,經編譯後儲存於資料庫中。使用者透過指定名稱並提供參數 (如有) 來執行。
分類:
master 資料庫,前綴 sp_,提供管理資訊查詢、設定變更等功能,可跨資料庫呼叫| 優勢 | 詳細說明 |
|---|---|
| 1. 標準化模組化程式設計 | 建立一次,多處呼叫,避免重複 SQL。資料庫專家可獨立修改邏輯,不影響應用程式原始碼 (僅呼叫陳述式),大幅提升可攜性與分工協作效率。 |
| 2. 執行速度更快 | 首次執行經查詢優化器分析、優化,執行計畫快取於系統表。後續執行直接重用計畫,避免批次 SQL 每次重新編譯優化。大量/重複操作效能差距顯著。 |
| 3. 減少網路流量 | 同樣操作若用批次 SQL 需傳送多條陳述式;預存程序僅傳送呼叫指令與參數。對頻繁往返的分散式應用效果顯著。 |
| 4. 安全性機制 |
透過授與/拒絕 EXECUTE 權限控管資料存取,使用者無需直接表權限即可執行特定業務操作,實現最小權限原則。
|
EXEC (或 EXECUTE) 關鍵字OUTPUT 參數回傳多個值、結果集