zoukankan      html  css  js  c++  java
  • 触发器定义,类型,作用

    触发器是一种特殊的存储过程,带事务,可以回滚

    有after 触发器 和 insteadOf触发器

    --after---insert触发器
    alter trigger trigger_UserInfos_Insert
    on UserInfos
    for insert -- 也可以写成after insert
    as
    --T-SQL
    declare @id int,@name varchar(50)
    select @id=UserId,@name=UserName from inserted
    print convert(varchar,@id)+','+@name +' 添加成功!';
    delete from UserInfos where UserId=24
    go

    --触发trigger_UserInfos_Insert
    insert into UserInfos (UserName,UserPwd,DeptId,Age)
    values('lingping','123',2,31)

    select * from UserInfos


    --after---update触发器
    --以前我们执行Update语句后,能看到只是修改后的数据
    --把修改前与修改后的数据都显示出来
    --修改就是先删除原来的,再插入新的一条数据
    alter trigger trigger_UserInfos_Update
    on UserInfos
    for update
    as
    declare @id int,@name varchar(50),@age int
    select @id=UserId,@name=UserName,@age=Age from deleted
    print '修改前:'+convert(varchar,@id)+','+@name+','+convert(varchar,@age);
    select @id=UserId,@name=UserName,@age=Age from inserted
    print '修改后:'+convert(varchar,@id)+','+@name+','+convert(varchar,@age);
    select * into UserInfoBackup --将更新前的数据备份到新表
    from deleted
    go


    --触发 trigger_UserInfos_Update
    update UserInfos set UserName='liuying2',Age=26
    where UserId=25

  • 相关阅读:
    两台oracle数据库相互导数据(转载)
    resin之jvm优化
    求一表中每一个类别共有几条记录数
    jQuery+Ajax+Struts2.0
    改进nginx访问resin的性能
    通过web修改squid用户上网密码
    jvm优化
    Samba通过ad域进行认证并限制空间大小
    Samba 与squid 都可以统一使用域(AD)验证
    ASP.NET 下载文件
  • 原文地址:https://www.cnblogs.com/csj007523/p/15231753.html
Copyright © 2011-2022 走看看