第一:儲存過程因為SQL語句已經預編繹過了,因此執行的速度比較快。 第二:儲存過程可以接受引數、輸出引數、返回單個或多個結果集以及返回值。可以向程式返回錯誤原因。 第三:儲存過程執行比較穩定,不會有太多的錯誤。只要一次成功,以後都會按這個程式執行。 第四:儲存過程主要是在伺服器上執行,減少對客戶機的壓力。 第五:儲存過程可以包含程式流、邏輯以及對資料庫的查詢。同時可以實體封裝和隱藏了資料邏輯。 第六:儲存過程可以在單個儲存過程中執行一系列 SQL 語句。 第七:儲存過程可以從自己的儲存過程內引用其它儲存過程,這可以簡化一系列複雜語句。其實儲存過程還可以控制權限,比如一個表不直接允許使用者直接訪問,但要求允許使用者訪問和修改其中一個或多個欄位,那就可以透過一個儲存過程來實現並允許該使用者使用該儲存過程。 還有,如果多條SQL語句執行過程中,過程環節返回了資料作為後面環節的輸入資料,如果直接透過SQL語句執行,勢必導致大量的資料透過網路返回到客戶機,並在客戶機運算;如果封裝在儲存過程中,則將運算放在伺服器進行,不但減少了客戶機的壓力,同時也減少了網路流量,提高了執行的效率。
第一:儲存過程因為SQL語句已經預編繹過了,因此執行的速度比較快。 第二:儲存過程可以接受引數、輸出引數、返回單個或多個結果集以及返回值。可以向程式返回錯誤原因。 第三:儲存過程執行比較穩定,不會有太多的錯誤。只要一次成功,以後都會按這個程式執行。 第四:儲存過程主要是在伺服器上執行,減少對客戶機的壓力。 第五:儲存過程可以包含程式流、邏輯以及對資料庫的查詢。同時可以實體封裝和隱藏了資料邏輯。 第六:儲存過程可以在單個儲存過程中執行一系列 SQL 語句。 第七:儲存過程可以從自己的儲存過程內引用其它儲存過程,這可以簡化一系列複雜語句。其實儲存過程還可以控制權限,比如一個表不直接允許使用者直接訪問,但要求允許使用者訪問和修改其中一個或多個欄位,那就可以透過一個儲存過程來實現並允許該使用者使用該儲存過程。 還有,如果多條SQL語句執行過程中,過程環節返回了資料作為後面環節的輸入資料,如果直接透過SQL語句執行,勢必導致大量的資料透過網路返回到客戶機,並在客戶機運算;如果封裝在儲存過程中,則將運算放在伺服器進行,不但減少了客戶機的壓力,同時也減少了網路流量,提高了執行的效率。