數據庫的存儲過程和出發器

存儲過程和函數的區別是什麼?
答:存儲過程是用戶定義的一系列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管理,既有利於集中控制,又能方便地進行維護。當用戶規則發生變化時,只需要修改存儲過程,無需修改其他應用程序。

-----------------------------------------------------------------------------------------

觸發器的作用?
觸發器是一中特殊的存儲過程,主要是通過事件來觸發而被執行的。它可以強化約束,來維護數據的完整性和一致性,可以跟蹤數據庫內的操作從而不允許未經許可的更新和變化。可以聯級運算。如,某表上的觸發器上包含對另一個表的數據操作,而該操作又會導致該表觸發器被觸發。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章