婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 簡單觸發器的使用 獻給SQL初學者

簡單觸發器的使用 獻給SQL初學者

熱門標簽:al智能電話機器人 銀川高頻外呼回撥系統多少錢 沒聽見電話機器人幫你接 陜西電銷外呼系統好用嗎 如何做地圖標注圖鋪 數字匠心電銷機器人 蘭州語音外呼系統運營商 最新人工智能電銷機器人 成都電話外呼系統一般多少錢
首先,啰嗦幾句廢話如下:
  (1)觸發器(trigger)是個特殊的存儲過程,它的執行并不需要我們去顯式調用,而是由一些事件觸發,這有點類似C#中的事件處理機制。當使用UPDATE,INSERT  或DELETE的一種或多種對指定的數據庫的相關表進行操作時,會觸發觸發器。
  (2)觸發器可以包含復雜的SQL語句,主要用于強制復雜的業務規則或要求。
  (3)觸發器能夠維持數據庫的完整性,當執行插入、更新或刪除操作時,觸發器會根據表與表之間的關系,強制保持其數據的完整性。
  
  好,啰嗦完了開始貼代碼,首先貼上我創建的兩張表所包含的列,他們的關聯關系是1對多,以UserID進行關聯。


然后來一個非常簡單的觸發器
復制代碼 代碼如下:

IF EXISTS(SELECT * FROM sysobjects
WHERE name='tr_Users_OnUpdate' AND TYPE='TR')
DROP TRIGGER tr_Users_OnUpdate
GO --這里呢創建觸發器與存儲過程類似(都是DDL)
--先判斷如否存在同名觸發器就刪除然后重建
CREATE TRIGGER tr_Users_OnUpdate
ON Users FOR UPDATE
AS PRINT ‘Users表已發生修改'
GO

上述代碼中,tr_Users_OnUpdate為觸發器名稱,Users為表名。這觸發器的作用是當向Users表執行Update時將打印“Users表已發生修改”。
  好了我們可以看到這個觸發器的實用性不是很大,那么接下來呢我們再來學習下關于觸發器里兩種特殊的表“inserted”和“deleted”。這兩張表主要用于觸發器。Deleted 表用于存儲 執行DELETE 和 UPDATE操作時所影響的行的副本。而Inserted 表則用于存儲 INSERT 和 UPDATE 語句所影響的行的副本。那么我們看到執行UPDATE操作時都會有記錄分別存儲到“inserted”和“deleted”。其實理解起來不難deleted表存儲的是Update之前的記錄,而inserted存儲的呢則是Update之后的記錄,這里關于理論性東西我不再贅述,官方資料有更詳細說明。
  現在我們要做的就是本文的重點,當往WordInfo添加一條記錄時,使用觸發器使UserInfo的相應記錄的LeaveCount字段增加1。代碼如下:
復制代碼 代碼如下:

--添加留言的觸發器
IF EXISTS(SELECT name FROM sysobjects WHERE name='tr_LeaveWord_Add' AND TYPE='TR')
DROP TRIGGER tr_LeaveWord_Add
GO
CREATE TRIGGER tr_LeaveWord_Add
ON WordInfo FOR INSERT
AS UPDATE UserInfo SET LeaveCount=LeaveCount+1
WHERE UserID=(SELECT TOP 1 UserID FROM Inserted)
GO

OK,到這里就可以收工了,值得注意的是如果觸發器是UPDATE觸發的,那么在執行Update后再查詢更新之前的數據改成查詢deleted表即可。
您可能感興趣的文章:
  • SQL觸發器實例講解
  • sqlserver 觸發器教程
  • 在登錄觸發器錯誤情況下連接SQL Server的方法
  • SQL Server觸發器及觸發器中的事務學習
  • SQL Server 2000中的觸發器使用
  • SQL Server 觸發器 表的特定字段更新時,觸發Update觸發器
  • 數據庫觸發器(Trigger)的一點使用心得
  • SQLServer 觸發器 數據庫進行數據備份

標簽:通化 宜春 邢臺 朔州 遼源 巴彥淖爾 本溪 鹽城

巨人網絡通訊聲明:本文標題《簡單觸發器的使用 獻給SQL初學者》,本文關鍵詞  簡單,觸發器,的,使用,獻給,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《簡單觸發器的使用 獻給SQL初學者》相關的同類信息!
  • 本頁收集關于簡單觸發器的使用 獻給SQL初學者的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 嘉定区| 洛隆县| 浠水县| 沂南县| 宝兴县| 唐河县| 兰西县| 灵武市| 菏泽市| 武邑县| 田东县| 湄潭县| 饶平县| 尤溪县| 西充县| 全椒县| 无棣县| 万山特区| 沙洋县| 四川省| 油尖旺区| 民县| 茂名市| 班玛县| 赤水市| 襄垣县| 巴青县| 抚顺市| 康保县| 卢氏县| 潼关县| 泰来县| 翁牛特旗| 马关县| 东乡族自治县| 台南市| 家居| 九台市| 太白县| 牙克石市| 栾川县|