2016-08-30 25 views
0

請不要指定存儲過程和函數之間的差異。只需要功能優於存儲過程的原因。爲什麼當存儲過程可以完成SQL函數的所有功能時,我們需要SQL函數?

我的理解是存儲過程比函數的工作更快,它可以完成一個函數可以做的所有事情,爲什麼我們需要功能?

我已閱讀文章,它聲明它可以很容易地嵌入到select語句中,但也可以在存儲過程中完成(通過在存儲過程中編寫整個select語句)。

希望我的問題很清楚。

+0

使用函數的最常見的情況是,如果你需要在'select'語句中做一些「處理」... sprocs不能在這裏使用 – Leo

+1

簡單,主要原因之一是你無法在選擇列語句中調用存儲過程的結果集。 –

+0

像GETDATE這樣的函數調用即使在SQL Server的計算列的定義中也可以用作默認值。在這種情況下,使用存儲過程根本不可能。 – RBT

回答

1

函數可以在SQL語句中內聯使用,而存儲過程不能。

相關問題