熱點推薦:
您现在的位置: 電腦知識網 >> 操作系統 >> Windows系統管理 >> 正文

創建觸發器

2013-11-11 21:53:52  來源: Windows系統管理 

  創建觸發器前應考慮下列問題
  
  CREATE TRIGGER 語句必須是批處理中的第一個語句將該批處理中隨後的其它所有語句解釋為 CREATE TRIGGER 語句定義的一部分
  
  
  創建觸發器的權限默認分配給表的所有者且不能將該權限轉給其他用戶
  
  
  觸發器為數據庫對象其名稱必須遵循標識符的命名規則
  
  
  雖然觸發器可以引用當前數據庫以外的對象但只能在當前數據庫中創建觸發器
  
  
  雖然不能在臨時表或系統表上創建觸發器但是觸發器可以引用臨時表不應引用系統表而應使用信息架構視圖
  
  在含有用 DELETE 或 UPDATE 操作定義的外鍵的表中不能定義 INSTEAD OF 和 INSTEAD OF UPDATE 觸發器
  
  
  雖然 TRUNCATE TABLE 語句類似於沒有 WHERE 子句(用於刪除行)的 DELETE 語句但它並不會引發 DELETE 觸發器因為 TRUNCATE TABLE 語句沒有記錄
  
  
  WRITETEXT 語句不會引發 INSERT 或 UPDATE 觸發器
  創建觸發器時需指定
  
  名稱
  
  
  在其上定義觸發器的表
  
  
  觸發器將何時激發
  
  
  激活觸發器的數據修改語句有效選項為 INSERTUPDATE 或 DELETE多個數據修改語句可激活同一個觸發器例如觸發器可由 INSERT 或 UPDATE 語句激活
  
  
  執行觸發操作的編程語句
  多個觸發器
  一個表中可有同類型的多個 AFTER 觸發器前提條件是它們的名稱各不相同每個觸發器可以執行多個函數但是每個觸發器只能應用於一個表而單個觸發器可應用於三個用戶操作(UPDATEINSERT 和 DELETE)的任何子集
  
  一個表只能有一個給定類型的 INSTEAD OF 觸發器
  
  觸發器權限和所有權
  CREATE TRIGGER 權限默認授予定義觸發器的表所有者sysadmin 固定服務器角色成員以及 db_owner 和 db_ddladmin 固定數據庫角色成員並且不可轉讓
  
  如果在某個視圖上創建 INSTEAD OF 觸發器則所有關系鏈將斷開(如果視圖所有者不同時擁有視圖和觸發器所引用的基表)對於不屬於視圖所有者的基表表所有者必須單獨地將必要的權限授予正閱讀或更新該視圖的任何人如果同一用戶擁有視圖和基礎基表則視圖和基礎基表必須授予其他用戶視圖的權限而非個別基表的權限
  
  創建觸發器
   TransactSQL參考(點擊查看)
  
  如何創建觸發器(企業管理器):
  展開服務器組然後展開服務器
  
  
  展開數據庫文件夾展開含觸發器的表所屬的數據庫然後單擊文件夾
  
  
  在詳細信息窗格中右擊將在其上創建觸發器的表指向所有任務菜單然後單擊管理觸發器命令
  
  
  在名稱單擊 <新建>
  
  
  在文本框中輸入觸發器的文本用 CTRLTAB 鍵來縮進觸發器的文本
  
  
  若要檢查語法單擊檢查語法命令
  

From:http://tw.wingwit.com/Article/os/xtgl/201311/9469.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.