1. 创建一个触发器,当一本书被还回时,从LOAN表中删除相应的借阅记录,将该学生借阅这本书记录添加到LoadHist表中;并检查是否有用户在等待预约这本书,如有则将这本书的借阅状况修改为 已经预约;按照预约的日期先后,先向预约在前的用户发送信息,并将状态改为T。

2. 创建一个触发器,当借书成功,则检索是否有这个用户的预约该书的记录,如果有,则删除相应的预约记录。

3. 创建一个触发器,当读者还书时,如果超期罚款, 通过触发器在收费表中添加一条收费记录。

1.create trigger umgsai ON
loan --在Goods表中创建触发器
for delete
As --事件触发后所要做的事情
begin
declare @借阅证号 char(20);
declare @借阅证号1 char(20)
declare @书号 char(20);
declare @借阅日期 char(20);
declare @归还日期 char(20);
declare @ISBN char(20); select @借阅证号=L.借阅证号 from deleted L;
select @书号=L.书号 from deleted L;
select @借阅日期=L.借阅日期 from deleted L;
select @ISBN =(select ISBN from books where 书号='@书号')
set @归还日期=getdate()
begin
insert into loanhist (借阅证号,书号,借阅日期,归还日期)values(@借阅证号,@书号,@借阅日期,@归还日期);
select @借阅证号1=(select top 1 借阅证号 from reservation where ISBN=@ISBN )
update reservation set 状态='T' where 借阅证号=@借阅证号1
end;
end; 2. create trigger umgsai1 ON
loan --在Goods表中创建触发器
for insert
As --事件触发后所要做的事情
begin
declare @借阅证号 char(20);
declare @书号 char(20);
declare @ISBN char(20);
select @借阅证号=L.借阅证号 from inserted L select @书号=L.书号 from inserted L
select @ISBN=(select ISBN from books where 书号=@书号)
begin
delete from reservation where 借阅证号=@借阅证号 and ISBN= @ISBN
end;
end;

SQL触发器的更多相关文章

  1. SQL触发器实例讲解

    SQL触发器实例1 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序.触发器是一个特殊的存储过程. 常见的触发器有三种:分别应用于Inser ...

  2. SQL触发器实例

    SQL触发器实例讲解(本文是来自百度文库) 备注:本人建了一个站特价汇,我想记录每个商品的点击量,然后按照点击量来牌名商品,想要提高效率,所以必须得用触发器,下面是本人在百度文库中的找到的学习资料,分 ...

  3. SQL触发器中的deleted表和inserted表

    SQL触发器中的deleted表和inserted表 在触发器语句中用两个特殊的表一个是deleted表和inserted.它们是通过触发器操作自动创建驻留在内存中的临时表. 描述: Deleted表 ...

  4. SQL 触发器(学生,课程表,选修表)

    SQL 触发器(学生,课程表,选修表) 触发器是一种特殊类型的存储过程,它不由用户通过命令来执行,而是在用户对表执行了插入,删除或修改表中数据等操作时激活执行.可以这样形容:存储过程像一个遥控炸弹,我 ...

  5. Oracle数据库之PL/SQL触发器

    Oracle数据库之PL/SQL触发器 1. 介绍 触发器(trigger)是数据库提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是 ...

  6. PB+MS SQL+触发器必须指出

    PB+MS SQL+触发器必须指出: 若触发器存在两笔以上的返回值,比方两条update 语句,被误判为数据有改变.存盘不成功. 提示: Row changed between retrieve an ...

  7. SQL触发器实例(下)

    基本语法: Create Trigger [TriggerName] ON [TableName] FOR [Insert][,Delete][,Update] AS --触发器要执行的操作语句. G ...

  8. SQL 触发器-如何查看当前数据库中有哪些触发器

    在查询分析器中运行: use 数据库名goselect * from sysobjects where xtype='TR' sysobjects 保存着数据库的对象,其中 xtype 为 TR 的记 ...

  9. 【SQL Server】SQL触发器经验详解

    [SQL Server]SQL触发器经验详解 | 浏览: 4314 | 更新: 2013-01-07 15:33 25 11 全文阅读分步阅读   加入杂志 步骤 1 2 3 4 5 6 7 8   ...

  10. SQL触发器 inset自学经验

    本人建立了一个特价汇网站,想要记录每个商品的点击量和整个网站的访问量,于是就想用sql 触发器来实现 drop trigger tgr_cg_records_update_column create ...

随机推荐

  1. C# 利用QRCode生成二维码图片

    网上生成二维码的组件是真多,可是真正好用的,并且生成速度很快的没几个,QRCode就是我在众多中找到的,它的生成速度快.但是网上关于它的使用说明,真的太少了,大都是千篇一律的复制粘贴.这是本要用它做了 ...

  2. [CareerCup] 10.3 Integer not Contain in the File 文件中不包含的数

    10.3 Given an input file with four billion non-negative integers, provide an algorithm to generate a ...

  3. Fedora 12 环境搭建

    又来折腾发行版了. 这一回是Fedora12,搞的挺艰难的 下载了Fedora-12-i386-DVD.iso,无论使用ultraiso还是dd都无法安装. 后来下载了一个ImageWriter.ex ...

  4. IT应届生如何准备找工作?

    今天和一个弟弟吃饭,他明年年初即将计算机研究生毕业.谈论到怎么找工作,觉得自己会的不多,心里非常发虚.虽然我当年找工作也走了很多弯路,思路并不是很清晰.但是工作了这么多年,对企业需要什么样子的人还是有 ...

  5. Jenkins进阶系列之——12详解Jenkins节点配置

    2014-03-02:修正对于lable标签的理解.(1.532.1版本已经给出了官方解释) 2013-12-22:添加JNLP端口修改,修改了一些错误. Jenkins有个很强大的功能:分布式构建( ...

  6. windows7设置java的环境变量

    win7 下配置 java 环境变量   首先,你应该已经安装了 java 的 JDK 了,笔者安装的是:jdk-7u7-windows-x64 接下来主要讲怎么配置 java 的环境变量,也是为了以 ...

  7. Silverlight button 图片切换样式

    之前一直做WPF现在开始接触Slilverlight感触很多. 今天做一个Button要求 有两个图片,button默认有一个图片,鼠标over时用另一个图片, 用wpf做的时候写一个template ...

  8. storm基础框架分析

    背景 前期收到的问题: 1.在Topology中我们可以指定spout.bolt的并行度,在提交Topology时Storm如何将spout.bolt自动发布到每个服务器并且控制服务的CPU.磁盘等资 ...

  9. sublime文档

    英文http://docs.sublimetext.info/en/latest/index.html 翻译http://feliving.github.io/Sublime-Text-3-Docum ...

  10. JS开发HTML5游戏《神奇的六边形》(四)

    近期出现一款魔性的消除类HTML5游戏<神奇的六边形>,今天我们一起来看看如何通过开源免费的青瓷引擎(www.zuoyouxi.com)来实现这款游戏. (点击图片可进入游戏体验) 因内容 ...