`

Sql Server 触发器 实例

阅读更多
五﹕使用T-SQL语句来创建触发器
  
基本语句如下﹕        
           create trigger trigger_name
           on {table_name | view_name}
           {for | After | Instead of }
           [ insert, update,delete ]
           as
           sql_statement
          
六﹕相关示例﹕         
1﹕在Orders表中建立触发器﹐当向Orders表中插入一条订单记录时﹐检查goods表的货品状态status是否为1(正在整理)﹐是﹐则不能往Orders表加入该订单。
create trigger orderinsert
on orders
after insert
as
if (select status from goods,inserted
where goods.name=inserted.goodsname)=1
begin
print 'the goods is being processed'
print 'the order cannot be committed'
rollback transaction   --回滚﹐避免加入
end
2﹕在Orders表建立一个插入触发器﹐在添加一条订单时﹐减少Goods表相应的货品记录中的库存。
create trigger orderinsert1
on orders
after insert
as
update goods set storage=storage-inserted.quantity
from goods,inserted
where
goods.name=inserted.goodsname
3﹕在Goods表建立删除触发器﹐实现Goods表和Orders表的级联删除。
create trigger goodsdelete
on goods
after delete
as
delete from orders
where goodsname in
(select name from deleted)
4﹕在Orders表建立一个更新触发器﹐监视Orders表的订单日期(OrderDate)列﹐使其不能手工修改.
create trigger orderdateupdate
on orders
after update
as
if update(orderdate)
begin
raiserror(' orderdate cannot be modified',10,1)
rollback transaction
end
5﹕在Orders表建立一个插入触发器﹐保证向Orders表插入的货品名必须要在Goods表中一定存在。
create trigger orderinsert3
on orders
after insert
as
if (select count(*) from goods,inserted where goods.name=inserted.goodsname)=0
begin
print ' no entry in goods for this order'
rollback transaction
end

6. 这两张表中的course相关联,我需要修改depart_course表中的course数据时,course表能够自动更新

例如:depart_course表中的course字段有一个是计算机原理,而course表中也有计算机原理这门课程的相关信息,也同样放在course表中的course字段

 

CREATE TRIGGER up ON depart_course
FOR UPDATE
AS

if Update(course)
begin
Update course
Set course=i.course
From course, Deleted d ,Inserted i
Where course.course=d.course

end

 

 

分享到:
评论

相关推荐

    sql server触发器.rar

    SQL Server触发器是数据库管理系统中一种非常重要的特性,它允许开发者在特定的数据库操作(如INSERT、UPDATE或DELETE)发生时执行自定义的SQL代码。这些操作被称为触发事件,而触发器则是对这些事件的响应。理解并...

    SQL Server:触发器实例详解

    SQL Server中的触发器是数据库对象的一种,主要用于在特定的数据操作(如INSERT、UPDATE、DELETE)发生时自动执行一些额外的任务,以确保数据的完整性和一致性。触发器不能像普通存储过程那样被显式调用,而是隐式地...

    一个SqlServer触发器的Delphi应用源代码..rar

    本资源“一个SqlServer触发器的Delphi应用源代码..rar”显然是一个结合了这两个技术的实例,旨在帮助开发者了解如何在Delphi中使用SQL Server触发器。 触发器是SQL Server中的一个重要特性,它是一种存储过程,由...

    SQL SERVER 触发器视频讲解

    通过实例演示,让理论知识与实践操作相结合,使您能够熟练掌握SQL Server中的触发器技术。 总之,了解并掌握SQL Server中的触发器是数据库管理员和开发人员必备的技能之一。它们在保证数据完整性、实现业务规则和...

    SQL Server 触发器实例详解

    Microsoft SQL Server:trade_mark: 2000 提供了两种主要机制来强制业务规则和数据完整性:约束和触发器。触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动...

    SQL_Server触发器创建、删除、修改、查看示例

    ### SQL Server 触发器创建、删除、修改、查看示例 #### 一、概述 在 SQL Server 中,触发器是一种特殊类型的存储过程,它自动执行响应数据更改(如 INSERT、UPDATE 或 DELETE)操作。触发器可以确保数据完整性,...

    利用SQLServer触发器实现表跟踪.pdf

    本篇文章详细介绍了如何通过SQL Server触发器技术创建数据跟踪日志,确保数据安全,并提供了一个应用实例,即利用SQL Server 2000数据库触发器来实现对数据表变化的跟踪。 首先,触发器在数据表发生特定操作时自动...

    SqlServer触发器例子.pdf

    SqlServer触发器例子 SqlServer触发器是数据库系统中的一种特殊的存储过程,它可以在某一个表的一定操作时触发某种条件,从而执行一段程序。 SqlServer触发器可以应用于Insert、Update、Delete等事件。 触发器的...

    SQL Server触发器的使用方法与实例解析

    适合人群:有一定SQL基础的数据库管理员或开发人员,特别是那些希望深入了解SQL Server触发器的工作原理和应用场景的人。 使用场景及目标:①理解触发器在维护数据完整性和一致性方面的作用;②学会编写Insert、...

    sqlserver 触发器实例代码

    4. SQL触发器实例2: - 该示例创建了一个卷烟库存管理和销售管理的环境,通过触发器确保销售和库存之间的数据同步和业务规则的执行。例如,每当`卷烟销售表`有INSERT操作时,触发器会自动计算销售金额,并确保`卷烟...

    SQL_Server触发器创建、删除、修改、查看示例教程.doc

    SQL_Server 触发器创建、删除、修改、查看示例教程 SQL Server 触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录、更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施...

    SQL 触发器实例

    本节将通过一个简单的触发器实例来介绍如何在SQL Server中创建和使用触发器。 ##### 实例背景 假设我们有一个系统,该系统有三个表:`tb1`、`tb2` 和 `tb3`。当对 `tb1` 进行插入操作时,需要根据 `tb1` 中的 `...

    SQL SERVER触发器在学生管理系统中应用.pdf

    SQL SERVER触发器在学生管理系统中的应用 本文主要介绍了 SQL SERVER 触发器在学生管理系统中的应用,触发器是一种重要的数据库技术,可以保证数据的完整性和一致性。本文从触发器的作用、类型、工作原理等方面进行...

Global site tag (gtag.js) - Google Analytics