zoukankan      html  css  js  c++  java
  • 数据库--触发器

    触发器:

    (1)触发器概念:通过事务来触发某一操作

    (2)触发器分类:

    ①After触发器:这类触发器是在记录已经改变完之后(after),才会被激活执行,它主要是用于记录变更后的处理或检查,一旦发现错误,也可以用 Rollback Transaction语句来回滚本次的操作。

    ②Instead Of触发器:这类触发器一般是用来取代原本的操作,在记录变更之前发生的,它并不去执行原来SQL语句里的操作(Insert、Update、Delete),而去执行触发器本身所定义的操作。

    (3)触发器常识:

    ①在SQL Server里,每个DML触发器都分配有两个特殊的表,一个是Inserted表,一个是Deleted表。它们两个存在于数据库服务器的内存中,是由系统管理的逻辑表,是两个临时表,而不是真正存储在数据库中的物理表。用户对这两个表只有读取的权限,没有修改的权限。

    ②Inserted和Deleted两个表的作用:
    Inserted:对于插入记录操作来说,插入表里存放的是要插入的数据;对于更新记录操作来说,插入表里存放的是要更新的记录。
    Deleted:对于更新记录操作来说,删除表里存放的是被更新记录;对于删除记录操作来说,删除表里存入的是被删除的旧记录。
    例子:

    ALTER    TRIGGER [dbo].[delOrderdrfdetail] ON [dbo].[OrderBill]
    FOR delete
    AS
    delete from OrderDraft where orgsmb_id in (select smb_id from deleted)

    AFTER跟FOR相同,不可在视图上定义AFTER触发器,更多时候写的都是for

    墨者看遍天下皆是丹青,测试看尽万物皆是bug
  • 相关阅读:
    密码学-网站的安全登录认证设计
    密码学-软件加密技术和注册机制
    密码学-数字证书原理
    Linux-ssh证书登录(实例详解)
    unity, multi collider
    unity, 相机空间 与 相机gameObject的局部空间
    unity, WaterProDaytime注意事项。
    unity, 欧拉角(euler angle)
    unity, mono断点
    unity5, import fbx注意事项
  • 原文地址:https://www.cnblogs.com/striver-dl/p/13920439.html
Copyright © 2011-2022 走看看