zoukankan      html  css  js  c++  java
  • 触发器

    触发器概述

    触发器是一种特殊的存储过程,与普通存储过程的区别:

    触发器的执行是与实践触发的,而普通存储过程是有命令调用执行的

    使用触发器有助于强制保持出具的数据完整性。可以防止恶意的插入、删除、修改

    创建触发器

    CREATE TRIGGER 触发器名
    ON { 表名 | 视图名 }
    [ WITH ENCRYPTION ]
    {
     {INSTEAD OF | AFTER | FOR |}    --instead of 前置触发器   for/after后置触发器
     { [ DELETE] [,] [ INSERT ] [,] [ UPDATE ] }
     AS
     [ IF UPDATE ( 列 ) [ { AND | OR } UPDATE ( 列 ) ] [ ...n ] ]
     SQL语句[ ...n ] 
    
    
    create trigger t1 
    on sc 
    instead of delete 
    as
    print '无权删除'
    
    
    create trigger t2
    on sc after insert
    as
    select * from sc

    insterted和deleted表

    只存在触发器执行过程中

    在插入数据时可以从iinserted表中读取新插入的值

    在删除数据时可以从deleted表中读取已经删除的数据

    在更新数据时,可以从deleted表中读取已经原有的值,从inserted表中读取修改后的值

  • 相关阅读:
    oracle使用expdp备份数据库
    用Setuptools构建和分发程序包
    C#5.0-原生异步编程方式
    任务并行库
    线程-线程池1
    多线程-3(同步)
    多线程-2(线程同步)
    线程---1
    高性能-GC3
    高性能-GC2
  • 原文地址:https://www.cnblogs.com/yrxc/p/12954725.html
Copyright © 2011-2022 走看看