日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第十章触发器的创建与管理

發(fā)布時間:2025/3/11 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第十章触发器的创建与管理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

第十章觸發(fā)器的創(chuàng)建與管理

  • 10.1_觸發(fā)器簡介
  • 10.2_觸發(fā)器的創(chuàng)建、修改、刪除
    • 10.2.1_觸發(fā)器的創(chuàng)建
    • 10.2.2_觸發(fā)器的修改
    • 10.2.3_觸發(fā)器的刪除
    • 10.2.4_觸發(fā)器的創(chuàng)建、修改、刪除舉例
  • 10.3_instead of觸發(fā)器
    • 10.3.1_instead of觸發(fā)器簡介及舉例 有疑問
  • 10.4_inserted、deleted表
  • 10.5_注意事項(xiàng)

10.1_觸發(fā)器簡介

觸發(fā)器是一種特殊的存儲過程,常常用于實(shí)現(xiàn)強(qiáng)制業(yè)務(wù)規(guī)則和數(shù)據(jù)完整性。觸發(fā)器由SQL Server自動執(zhí)行,不能由應(yīng)用程序調(diào)用,這是它與存儲過程不同的地方,便于保護(hù)數(shù)據(jù)庫的完整性和完全性。

10.2_觸發(fā)器的創(chuàng)建、修改、刪除

10.2.1_觸發(fā)器的創(chuàng)建

CREATE TRIGGER trigger_name [WITH ENCRYPTION]--加密 ON table_name {FOR | AFTER | INSTEAD OF} INSERT, UPDATE, DELETE AS --sql過程塊

10.2.2_觸發(fā)器的修改

ALTER TRIGGER trigger_name [WITH ENCRYPTION]--加密 ON table_name FOR INSERT, UPDATE, DELETE AS --sql過程塊

10.2.3_觸發(fā)器的刪除

DROP TRIGGER trigger_name

10.2.4_觸發(fā)器的創(chuàng)建、修改、刪除舉例

CREATE TRIGGER Company_attention ON Company WITH ENCRYPTION FOR INSERT AS print '字符串' ALTER TRIGGER Company_attention ON Company WITH ENCRYPTION FOR INSERT AS print '字符串' DROP TRIGGER Company_attention

10.3_instead of觸發(fā)器

10.3.1_instead of觸發(fā)器簡介及舉例 有疑問

instead of觸發(fā)器作用:執(zhí)行觸發(fā)器中的內(nèi)容,而禁止執(zhí)行觸發(fā)詞觸發(fā)器的sql語句

CREATE TRIGGER [CONTRACT_DELETE] ON [CONTRACT] INSTEAD OF DELETE--instead of類型 AS BEGIN IF EXISTS (SELECT Count(*) FROM ContractDetail WHERE ContractID IN (SELECT ContractID FROM Deleted))--如果這個結(jié)果不是0就說明有相關(guān)記錄 --打印 PRINT ‘合同明細(xì)表中有相關(guān)記錄,不能刪除’ ELSE--否則就刪除 DELETE FROM CONTRACT WHERE CONTRACTID in (SELECT CONTRACTID FROM deleted) END

再次刪除不會再次觸發(fā)這個觸發(fā)器嗎

10.4_inserted、deleted表

Inserted表
存放由insert 或update語句的執(zhí)行而導(dǎo)致要加到該觸發(fā)器作用的表中去的任何新行。


deleted表
存放由delete 或update語句的執(zhí)行而導(dǎo)致要從被該觸發(fā)器作用的表中刪除的任何行。


inserted與deleted表中自帶與操作的表同樣的屬性列

10.5_注意事項(xiàng)

SQL Server 允許創(chuàng)建的存儲過程引用尚不存在的對象。在創(chuàng)建時,只進(jìn)行語法檢查。 CREATE TRIGGER
必須是批處理中的第一條語句,并且只能應(yīng)用到一個表中。
觸發(fā)器中不允許以下 Transact-SQL 語句:ALTER DATABASE 、CREATE DATABASE、 DISK INIT 、DISK RESIZE 、DROP DATABASE 、LOAD DATABASE 、LOAD LOG 、RECONFIGURE 、RESTORE DATABASE 、RESTORE LOG

總結(jié)

以上是生活随笔為你收集整理的第十章触发器的创建与管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。