什麼是儲存過程及其優缺點?儲存過程與函式的區別?
阿新 • • 發佈:2021-07-28
儲存過程是一個預編譯的SQL語句,優點是允許模組化的設計,就是說只需建立一次,以後在該程式中就可以呼叫多次。
如果某次操作需要執行多次SQL,使用儲存過程比單純SQL語句執行要快。
呼叫:
1)可以用一個命令物件來呼叫儲存過程。
2)可以供外部程式呼叫,比如:java、.net程式。
優點:
1)儲存過程是預編譯過的,執行效率高。
2)儲存過程的程式碼直接存放於資料庫中,通過儲存過程名直接呼叫,減少網路通訊。
3)安全性高,執行儲存過程需要有一定許可權的使用者。
4)儲存過程可以重複使用,可減少資料庫開發人員的工作量。
缺點:
移植性差
儲存過程與函式的區別
(1)儲存過程使用者在資料庫中完成特定操作或者任務(如插入,刪除等),函式用於返回特定的資料。
(2)儲存過程宣告用procedure,函式用function。
(3)儲存過程不需要返回型別,函式必須要返回型別。
(4)儲存過程可作為獨立的pl-sql執行,函式不能作為獨立的plsql執行,必須作為表示式的一部分。
(5)儲存過程只能通過out和in/out來返回值,函式除了可以使用out,in/out以外,還可以使用return返回值。
(6)sql語句(DML或SELECT)中不可用呼叫儲存過程,而函式可以。