触发器设计技巧与实例

触发器|技巧|设计

                            触发器设计技巧与实例

在数据库设计中,有两种方法可设定自动化的资料处理规则,一种是条件约束,
一种是触发器,一般而言,条件约束比触发器较容易设定及维护,且执行效率较
好,但条件约束只能对资料进行简单的栏位检核,当涉及到多表操作等复杂操
作时,就要用到触发器了.
      一个数据库系统中有两个虚拟表用于存储在表中记录改动的信息,分别
 是:
                 虚拟表Inserted                    虚拟表Deleted

在表记录新增时   存放新增的记录                        不存储记录
        修改时   存放用来更新的新记录                  存放更新前的记录
        删除时   不存储记录                            存放被删除的记录
 
      触发器的种类及触发时机
 After触发器:触发时机在资料已变动完成后,它将对变动资料进行必要的
              善后与处理,若发现有错误,则用事务回滚(Rollback Transaction)
              将此次操作所更动的资料全部回复。
 Istead of 触发器:触发时机在资料变动前发生,且资料如何变动取决于触发器

现在介绍一下创建触发器的编写格式:

After类型:
    Create Trigger  触发器名称
    on 表名
    after 操作(insert,update)
    as 
      Sql语句

Instead类型
    Create Trigger 触发器名称
    on 表名
    Instead of 操作(update,delete)
    as
      Sql语句

实例1:
     在订单(表orders)中的订购数量(列名为num)有变动时,触发器会先到客户(表Customer)中
取得该用户的信用等级(列名为Level),然后再到信用额度(Creit)中取出该等级
许可的订购数量上下限,最后比较订单中的订购数量是否符合限制。

代码:         
           Create  Trigger num_check
           on orders
           after insert,update
           as
           if update(num)
             begin
               if exists(select a.* from orders a join customer b on a.customerid=b.customerid
                                                  join creit c on b.level=c.level
                                                  where a.num between c.up and c.down)
               begin
                  rollback transaction
                  exec master..xp_sendmail 'administrator','客户的订购数量不符合限制'
               end  
             end 
实例2:
      有工资管理系统中,当公司对某员工甲的月薪进行调整时,通常会先在表员工中修改薪资列,然后在
      表员工记录中修改薪资调整时间与薪资
           
          Create trigger compensation
          on 员工
          after update
          as
            if @@rowcount=0 return
            if update(薪资)
               begin
                 insert 员工记录
                 select 员工遍号,薪资,getdate()
                 from inserted
               end

 

 

           
         

时间: 2024-08-19 08:46:37

触发器设计技巧与实例的相关文章

高品质的网页设计技巧与实例

提升网页和博客设计品质的一些实例和技巧 "高品质"是所有人追求的目标,在网页设计的世界中也不例外.不过何为"品质",如何判断一项设计的品质是好还是坏?笔者恰好有一套找出网页设计中品质焦点的方法.一旦你了解到如何判断一项高品质的设计究竟好在哪里,你就掌握了让自己的设计更趋完美的大量技巧. 接下来我会给大家列一些要点,并附上相应的例子,与大家分享一下我在别人的网页设计中寻找"高品质"的过程. 01. 留白 在好的网页设计中我最留意的是那些对设计元素之

响应式Web设计技巧及编写一个响应式页面实例

响应式 Web 设计技巧 什么是响应式设计? iOS 和 Android 的发布,智能手机.平板电脑.智能家电等新设备层出不穷,极大便利了我们的生活,但面对形形色色的终端设备,千差万别的屏幕分辨率,给网页设计带来了新的挑战,我们无法估计用户的终端设备和网络状况,更不可能为每种设备都专门设计一套网站,如何实现 Web UI 在多终端中的适配呢?2010 年 Ethan Marcotte 曾经在 A List Apart 发表过一篇文章"Responsive Web Design",响应式

实例说明CSS中图片实现大背景网站设计技巧

自从我发布了大背景网页设计合集之后,我收到了很多电子邮件询问如何用css实现大背景的网页设计.因此我决定和大家分享大背景网站的设计技巧.在此教程中,我会用一些实例来说明如何用一张或者两张图片实现大背景网站的设计. 经常会犯的错误:背景被裁减(查看示例) 查看示例文件,在小于1280分辨率时,是没有问题的.但是如果你的显示器的分辨率大于1280像素,你会看到背景图片以外的部分. 实例1:一张图片(查看示例) 简单的http://www.aliyun.com/zixun/aggregation/74

版面设计中的一图多用设计技巧

设计技巧:如何在设计中一图多用 [译者的话] 在版面设计中,你有很多地方都需要用到图片,但你手上只有一张图片,怎么办?在本文中,我们用两个实例来说明如何解决这个问题,我们只用一张图片,通过分解剪切,就可以将这张图片用在不同的地方,出来的效果非常漂亮.一张图片,其实已经足够! 原文出处:www.bamagazine.com 在本文中,我们要将你买回来的图片物尽其用:通过从原图中得到几个小图,完全可以配合你的版面设计. 这是我们要利用的原图 在版面设计中,就变成这样 你有注意到其实在大图中隐藏着一些

WPF界面设计技巧(3)—实现不规则动画按钮

原文:WPF界面设计技巧(3)-实现不规则动画按钮    发布了定义WPF按钮的教程后,有朋友问能否实现不规则形状的按钮,今天我们就来讲一下不规则按钮的制作.   不规则按钮的做法实际上和先前我们做不规则窗体的方法差不多,只是为按钮弄个不是那么方方正正的背景而已.   我们这次沿用自定义窗体时的设计图形,设计一个动态的不规则按钮,在这个示例中我们要将先前设计的整个图形作为按钮,并让外围的圆环始终围绕中心圆形旋转,在鼠标移入时,还要产生颜色变化及发光效果.   首先用 Microsoft Expr

WPF界面设计技巧(2)—自定义漂亮的按钮样式

原文:WPF界面设计技巧(2)-自定义漂亮的按钮样式  上次做了个很酷的不规则窗体,这次我们来弄点好看的按钮出来,此次将采用纯代码来设计按钮样式,不需要 Microsoft Expression Design 辅助了.   首先打开 Microsoft Visual Studio 2008 ,新建一个WPF项目,在上面随便放几个按钮:     然后给各个按钮设置不同的背景颜色:     设置好之后就是这样啦:     然后我们就开始在 App.xaml 文件中定义按钮样式了:     定义的样式

070_《Delphi7程序设计技巧与实例》

<Delphi7程序设计技巧与实例> Delphi 教程 系列书籍 (070) <Delphi7程序设计技巧与实例> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Part1 Part2 Part3   作者: 吴天准 书号: 7-113-05177-4 页码: 526 开本: 16开 版次:1-1 出版社: 中国铁道出版社 出版日期: 2003-5-1 内容简介 ◆清华大学教师力作,包含作者多年编译器研究与程序设计教学经验 ◆深入Object Pasc

《写给大家看的设计书:实例与创意(修订版)》—1你已经知道多少了?

灵感闪光 写给大家看的设计书:实例与创意(修订版) 许多设计师在遵守规则与打破规则上同样无能,而好的设计师两者都能兼顾. 吉姆·艾丽 沙凡那港艺术与设计学院 1.你已经知道多少了? 在这一部分中,我们想要确认,在给你灌输更多先进理念之前,你已经拥有了基本的知识储备.当然,即使你还不具备这些基础,你也可以从本书中学到很多东西.但是为了进一步讲解知识,我们假设你已经对设计有了一定的了解.因为我已经为刚入行的设计师写过许多书籍了,因此这个简介就有了一点"试金石"的意义.如果你不能回答这些问题

071_《Delphi7编程技巧与实例精解》

<Delphi7编程技巧与实例精解> Delphi 教程 系列书籍 (071) <Delphi7编程技巧与实例精解> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Pdf 作者: 张海卿 张占军 丛书名: 其他 出版社:国防工业出版社 ISBN:7118030163 上架时间:2003-4-15 出版日期:2003 年1月 开本:16开 页码:365 版次:1-1 内容简介 本书汇编了Delphi中比较经典的60个实便,包括8大部分,即基础知识.图形国像