網頁

2017/9/1

Oracle Procedure和Function的差異

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有。


參考:

沒有留言:

張貼留言