執行預存程序
適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
預存程式是儲存在資料庫中的可執行物件。 SQL Server 支援:
預存程式:
先行編譯成單一可執行程式的一或多個 SQL 語句。
擴充預存程式:
C 或C++動態連結庫 (DLL) 寫入 SQL Server Open Data Services API 以進行擴充預存程式。 開放式資料服務 API 會擴充預存程序的功能以包含 C 或 C++ 程式碼。
執行語句時,在數據源上呼叫預存程式(而不是直接執行或準備用戶端應用程式中的語句)可以提供:
較高的效能
建立程式時,會剖析和編譯 SQL 語句。 然後,執行程式時會儲存此額外負荷。
降低網路負荷
執行程式,而不是跨網路傳送複雜的查詢,可以減少網路流量。 如果 ODBC 應用程式使用 ODBC { CALL } 語法來執行預存程式,ODBC 驅動程式會進行額外的優化,而不需要轉換參數數據。
一致性極佳
如果組織的規則是在集中資源中實作,例如預存程式,則可以撰寫程式代碼、測試及偵錯一次。 接著,個別程式設計人員可以使用經過測試的預存程式,而不是開發自己的實作。
更高的精確度
由於預存程式通常是由經驗豐富的程式設計人員所開發,因此它們通常會更有效率,而且比程式代碼由不同技能層級的程式設計人員開發多次錯誤少。
已新增功能
擴充預存程式可以使用 Transact-SQL 語句中無法使用的 C 和 C++ 功能。
如需如何呼叫預存程式的範例,請參閱 處理傳回碼和輸出參數 (ODBC) 。