資料庫面試題:儲存過程
儲存過程和函式的區別是什麼?
答:儲存過程是使用者定義的一系列SQL語句的集合,涉及特定表或其他物件的任務,使用者可以呼叫儲存過程。
而函式通常是資料庫已經定義的方法,它接收引數並返回某種型別的值,並且不涉及特定使用者表,例如聚集函式avg、max、count等,日期時間單數day、month等。
PL/SQL(Procedural Language/SQL, PL/SQL)是編寫資料庫儲存過程的一種過程語言,它結合了SQL的資料操縱能力
和過程化語言的流程控制能力,是SQL的過程化擴充套件。
綜上PL/SQL就是對資料的.操縱過程化
儲存過程的優點
它是由PL/SQL語句書寫的過程,這個過程經編譯和最佳化後儲存在資料庫伺服器中,因此稱它為儲存過程,使用時只要呼叫即可。
1、由於儲存過程不像解釋執行的SQL語句那樣在提出操作請求時才進行語法分析和最佳化工作,因而執行效率高,
它提供了在伺服器端快速執行SQL語句的有效途徑。
2、儲存過程降低了客戶機和伺服器之間的通訊量。客戶機上的應用程式只要透過網路向伺服器發出儲存過程的名字和引數,就可以讓RDBMS執行許多條的SQL語句,並執行資料處理。只有最終處理結果才返回客戶端。
3、方便實施企業規則。可以把企業規則的運算程式寫成儲存過程放入資料庫伺服器中,由RDBMS管理,既有利於集中控制,又能方便地進行維護。當用戶規則發生變化時,只需要修改儲存過程,無需修改其他應用程式。