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

    Create table LogInfo
    (
    Id uniqueidentifier unique,
    content text null,
    Inputdate datetime not null,
    )
    alter table LogInfo add constraint constraint_Id default newid() for Id
    alter table LogInfo add constraint constraint_Inputdate default getdate() for Inputdate
    新建日志表
    if(exists(select 1 from sys.objects where name='update_forbidden'))
        drop trigger update_forbidden
    GO    
    create trigger update_forbidden
        on studentinfo_2019
        after update
    as
    begin
        if(update(name))
        begin
            begin try
                declare @oldname varchar(50),@newname varchar(50),@studentId varchar(50)
                set @oldname = (select Name from deleted)
                set @newname = (select Name from inserted)
                set @studentId = (select studentId from deleted)
                insert into LogInfo (content) values('学号为 '+@studentId+' 的姓名 由 ' + @oldname +' 改为 '+@newname)
            end try
            begin catch
                rollback transaction
            end catch
        end
    end
    修改表字段写日志,附带异常处理
    if(exists(select 1 from sys.objects where name='delete_forbidden'))
        drop trigger delete_forbidden
    GO    
    create trigger delete_forbidden
        on studentinfo_2019
        after delete
    as
    begin
        RAISERROR('禁止直接删除该表数据,操作被禁止',1,1)--raiserror 是用于抛出一个错误
        rollback transaction
    end
    限制删或限制增

    inserted 和 deleted 虚拟表 作为表存在 而不是变量

  • 相关阅读:
    BZOJ:4219: 跑得比谁都快 3007: 拯救小云公主
    BZOJ:4816: [Sdoi2017]数字表格
    BZOJ:4333: JSOI2012 智者的考验
    BZOJ:3911: SGU383 Caravans(三角剖分)
    bzoj:2595: [Wc2008]游览计划
    ZOJ3602:Count the Trees
    A Dangerous Maze (II) LightOJ
    Where to Run LightOJ
    Lights inside 3D Grid LightOJ
    Snakes and Ladders LightOJ
  • 原文地址:https://www.cnblogs.com/Jacob-Wu/p/10254019.html
Copyright © 2011-2022 走看看