sql server 存儲過程和觸發器
來源:易賢網 閱讀:997 次 日期:2014-11-03 11:53:47
溫馨提示:易賢網小編為您整理了“sql server 存儲過程和觸發器”,方便廣大網友查閱!

一.存儲過程

1.存儲過程的分類

存儲過程是一種數據庫對象,存儲在數據庫內,可由應用程序通過一個調用執行,而且

允許用戶聲明變量、有條件執行,具有很強的編程功能

存儲過程可以分為兩類:系統存儲過程、用戶存儲過程和擴展性存儲過程

1).系統存儲過程

系統存儲過程是由SQL Server系統提供的存儲過程,可以作為命令執行各種操作。

系統存儲過程主要用來從系統表中獲取信息,為系統管理員管理SQL Server提供幫助,

為用戶查看數據庫對象提供方便。

系統存儲過程定義在系統數據庫master中,其前綴是sp_。在調用時不必在存儲過程前

加上數據庫名

2).用戶存儲過程

用戶存儲過程是指用戶根據自身需要,為完成某一特定功能,在用戶數據庫中創建的存

儲過程。

3).擴展存儲過程

擴展存儲過程以在SQL Server環境外執行的動態鏈接庫(DLL,Dynamic-LinkLibrar-ies)

來實現。擴展存儲過程通過前綴“xp_”來標識,它們以與存儲過程相似的方式來執行。

二.觸發器

觸發器是當特定事件出現的時候,自動執行或者激活的,與連接到數據庫中的用戶或者應用程序無關.。一個表最多有三種不同類型的觸發器,當UPDATE發生時使用一個觸發器;DELETE發生時使用一個觸發器;INSERT發生時使用一個觸發器

1.與存儲過程的區別

觸發器與存儲過程主要的區別在于觸發器的運行方式。存儲過程必須由用戶、應用程序或者觸發器來顯示式地調用并執行,而觸發器是當特定事件出現的時候,自動執行或者激活的,與連接到數據庫中的用戶或者應用程序無關

注意: 盡管觸發器的功能強大,但是它們也可能對服務器的性能很有害。因此,要注意不要在觸發器中放置太多的功能,因為它將降低響應速度,使用戶等待的時間增加

2.觸發器的分類

1). DDL 觸發器

DDL觸發器當服務器或者數據庫中發生數據定義語言(DDL)事件時將被調用

2). DML 觸發器

DML觸發器是當數據庫服務器中發生數據操作語言(DML)事件時要執行的操作

3.兩種特殊的表:DELETED表和INSERTED表

SQL Server 2008為每個觸發器語句都創建了兩種特殊的表:DELETED表和INSERTED表。

這是兩個邏輯表,由系統來自創建和維護,用戶不能對他們進行修改。他們存放在內存而不

是數據庫中。這兩個表的結構總是與被該觸發器作用的表的結構相同。觸發器執行完成后,

與該觸發器相關的這兩個表也會被刪除

DELETE表存放由執行DELETE或者UPDATE語句而要從表中刪除的所有行。在執行DELE

TE或者UPDATE操作時,被刪除的行從觸發觸發器的表中被移動到DELETE表,這兩個表不

會有共同的行。

INSERT 表存放由執行INSERET或者UPDATE語句而要向表中插入的所有行。在執行INS

ERT或者UPDATE事務中,新的行同時添加到觸發觸發器的表和INSERT表中,INSERT表的內

容是觸發觸發器的表中新行的副本。

注意: 一個UPDATE事務可以看作先執行一個DELETE 操作,再執行一個INSERT操作,舊的行首先被移動到DELETE 表,然后新行同時插入觸發觸發器的表和INSERT表。

更多信息請查看IT技術專欄

更多信息請查看數據庫
易賢網手機網站地址:sql server 存儲過程和觸發器
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
未满十八18勿进黄网站免费看