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
  • 相关阅读:
    android 中webview调用js
    android apk打包之后js调用失效的解决办法
    android软键盘的管理和属性的设置
    android Bitmap(将视图转为bitmap对象)
    android的四种加载模式
    android 从其他app接收分享的内容
    android ADT 设置编辑字体
    android的JNI标准 android的NDK
    iOS开发随笔--iOS捕获异常、常用的异常处理方法
    IOS学习笔记--Objective-C之协议、代码块、分类
  • 原文地址:https://www.cnblogs.com/striver-dl/p/13920439.html
Copyright © 2011-2022 走看看