本質上沒差別。只是函數有如:只能傳回一個變數的限制。而預存程序可以傳回多個。而函數是可以嵌入在sql中使用的,可以在select中調用,而預存程序不行。執行的本質都一樣。
函數限制較多,例如不能用臨時表,只能用表格變數.還有一些函數都不可用等等.而儲存過程的限制相對較少
1. 一般來說,而儲存製程所實現的功能則複雜一點,且函數的實現的功能針對性較強。
2. 可將儲存程序傳回參數,而函數則只能傳回值或表物件。
3. 儲存程序一般是作為一個獨立的部分來執行(EXEC執行),而函數可以作為查詢語句的一個部分來呼叫(SELECT呼叫),由於函數可以傳回一個表對象,因此它可以在查詢語句中位於FROM關鍵字的後方。
4. 當預存程序與函數執行的時候,SQL Manager會到procedure cache中去取對應的查詢語句,如果在procedure cache中沒有執行的查詢語句,SQL Manager就會對儲存程序和函式進行編譯。
Procedure cache中保存的是執行計劃(execution plan) ,當編譯好之後就執行procedure cache中的execution plan,之後SQL SERVER會根據每個execution plan的實際情況來考慮是否要在cache中保存這個,plan評判的標準一個是這個execution plan可能被使用的頻率;其次是產生這個plan的代價,也就是編譯的耗時。保存在cache中的plan在下次執行時就不用再編譯了。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

WebStorm Mac版
好用的JavaScript開發工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器