zoukankan      html  css  js  c++  java
  • sql中简单的触发器功能

    触发器分为DML触发器和DDL触发器
    DML触发器包含After触发器,执行insert update delete语句后会触发after触发器,会事务回滚
    DML触发器还包含instead of触发器,执行insert update delete语句之前触发instead of触发器,适用于
    表或视图

    举例:after触发器
    create trigger Borrow_Insert//往借阅表增加一条数据时,将图书表中的数量-1
    on Borrow
    with encryption//触发器加密
    for insert
    as
     declare @count int
     select @count=BookCount from Book
     where BookId=(select BookId from inserted)
     if @count>0
      update Book set BookCount=BookCount-1
      where BookId=(select BookId from inserted)
     else
      rollback tran

    instead of触发器:删除视图中的数据 以 删除 借阅表中的数据 代替

    update函数
    create trigger Borrow_Update//往借阅表增加一条数据时,将图书表中的数量-1
    on Borrow
    with encryption//触发器加密
    for update
    as 
     if update(BorrowDate)
     begin不允许更新BorrowDate'
     print ''
     end

    DDL触发器
    create trigger DDL_Operate_Table//禁止操作表
    on database
    for alter_table,drop_table
    as
     print '禁止操作表'
     rollback

    drop table Admin


    create trigger DDL_Operate_database//禁止对服务器上的数据库操作
    on all server
    for drop_database
    as
     print '禁止删除数据库'
     rollback

    drop database HRManage

    每天积累一点,离成功就近一点
  • 相关阅读:
    django rest framework serializers解读
    django rest framework通用view
    scrapy爬取伯乐在线文章
    scrapy 框架入门
    django rest framework mixins小结
    python 函数进阶
    python 变量进阶(理解)
    Docker 部署Django项目
    Docker部署Vue 工程包
    saltstack 初始化LINUX系统
  • 原文地址:https://www.cnblogs.com/apes-monkeys/p/4031185.html
Copyright © 2011-2022 走看看