• SQL Server触发器(Trigger)之 After 触发器


    ylbtech-SQL Server:SQL Server-触发器(Trigger)之 After 触发器

     SQL Server 触发器(Trigger)之 After 触发器。

    内容简介

    -- =============================================

    -- ylb:测试触发器
    -- Comments:创建基本的触发器,修改触发器,删除触发器
    -- TriggerType:After触发器
    -- KeyWord:Trigger, SQL Server
    --
    -- ylb: ylb,tech
    -- 9:52 2012/2/17
    -- =============================================
     
    技术与环境
       

    语言类别:

    SQL之T-SQL

    thankyou: sunshine, 谢谢你的默默付出

    数据库:

    SQL Server

    学习软件:

    Microsoft SQL Server

    课程总策划:

    yuanbo

    English name:

    sunshine

    个人主页:

    http://www.cnblogs.com/ylbtech/

    科研团队:

    ylbtech

    教研团队:

    ylbtech

    1,第一步,创建基本的数据库和插入测试数据  
    -- =============================================
    -- ylb:测试触发器
    -- Remark:创建基本的触发器,修改触发器,删除触发器
    -- TriggerType:After触发器
    -- =============================================
    USE master
    GO
    
    -- Drop the database if it already exists
    IF  EXISTS (
     SELECT name 
      FROM sys.databases 
      WHERE name = N'TestDb'
    )
    DROP DATABASE TestDb
    GO
    
    CREATE DATABASE TestDb
    GO
    use TestDb
    go
    -- =============================================
    -- ylb:1,创建用户表
    -- =============================================
    create table Users
    (
    userID int primary key identity(100,1),
    username varchar(200) not null,
    sex char(2) default('男'),
    score numeric(7,1)  --成绩
    )
    go
    --TestData
    insert into Users(username,sex,score) values('sunshine','男',60.5);
    insert into Users(username,sex,score) values('dream','女',80);
    insert into Users(username,sex,score) values('rain','男',70);
    insert into Users(username,sex,score) values('mike','男',75);
    go
    select * from Users
    
    GO
    
    2, 第二步,创建触发器 示例一
    use TestDb
    go
    --======================================
    --  Create T-SQL Trigger Template
    -- ylb:创建触发器
    -- 条件:1,创建一个触发器,当向“Users”表插入数据时,提示“添加成功!”
    --======================================
    
    CREATE TRIGGER tri_Users_Insert
    ON Users
    AFTER INSERT
    AS
    BEGIN
    PRINT '添加成功!'
    END
    GO
    --Test,1
    insert into Users(username,sex,score) values('Trigger_Insert','男',75);
    
    3,创建触发器 示例二     注意:现在这个功能没有精确实现,只要修改这一行,都无法修改,望有高手指教
    use TestDb
    go
    --======================================
    --  Create T-SQL Trigger Template
    -- ylb:创建触发器
    -- 条件:不允许修改“score(成绩)”,这一列,如果有则,滚回操作
    --======================================
    CREATE TRIGGER tri_Users_Score_Update
    on Users
    AFTER UPDATE
    AS
    BEGIN
    PRINT '修改失败!成绩这一列,不允许修改!'
    ROLLBACK TRANSACTION
    END
    GO
    --Test,2
    --把编号是“100”的用户的成绩改成88分。
    update Users set score=100 where userID=100
    
    go
    
    4,第三步,修改触发器  
    use TestDb
    go
    --======================================
    --  Alter T-SQL Trigger Template
    -- ylb:修改触发器
    --======================================
    ALTER TRIGGER tri_Users_Insert
    ON Users
    AFTER INSERT
    AS
    BEGIN
    PRINT '添加用户成功!'
    END
    GO
    --Test,1
    insert into Users(username,sex,score) values('Trigger_Insert','男',75);
    
    5,第四步,删除触发器
    use TestDb
    go
    --======================================
    --  Drop Trigger Template
    -- ylb:删除触发器
    --======================================
    USE TestDb
    GO
    
    IF OBJECT_ID ('ri_Users_Score_Update','TR') IS NOT NULL
     DROP TRIGGER tri_Users_Score_Update 
    GO
    

    寄语:我们曾经都或多或少,为一件事物或一个人付出过那么多的时间,可是得到最后的结果,却不是自己当初想要的;生活中有很多无奈,无法改变,唯一能做的就是适当地在不同的时期,调整自己的态度;我相信胜利就在不远处,辛勤付出终会收获,人生在过程中变得丰盈和幸福.   ---sunshine赠予dream      2012-2-17 10:07

    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    关于左边图片右边列表的新闻布局模式
    Yahoo!团队实践分享:网站性能优化的34条黄金守则(三)—JavaScript和CSS
    Yahoo!团队实践分享:网站性能优化的34条黄金守则(二)—服务器
    浅谈HTTP中Get与Post的区别
    司徒大人的面试题,自勉~
    善待PSD — 好设计师,从细节做起
    Yahoo!团队实践分享:网站性能优化的34条黄金守则(一)—内容
    恕我简陋,恕我臃肿
    【svg+vml】部分尝试
    记录:关于Drag&Drop Upload
  • 原文地址:https://www.cnblogs.com/ylbtech/p/2638019.html
Copyright © 2020-2023  润新知