Procedure和Function的差異如下
- Procedure沒有回傳值,但Function必須回傳值。雖然Procedure有
OUT
參數,但技術上來說和RETURN
是不同的東西。 - Function只回傳一個值,但Procedure可回傳多個(使用
OUT
參數)。 - Function在SQL敘述中不行更改資料庫的資料,但Procedure可以。
- Function可使用在
SELECT
敘述中,但Procedure不行。 - Function的參數只能輸入(
IN
),但Procedure的參數可以輸出(OUT
)。 - Function不行使用TEMP資料表,但Procedure可以,還可使用Table變數。
- Function不行產生Result Set,但Procedure可以。
- Function通常用來處理邏輯運算,但Procedure多用來處理商業邏輯。
- Function沒有被事先編譯,但Procedure有。
參考:
沒有留言:
張貼留言