创建表:

CREATE TABLE [dbo].[GeneralRule]([ID] [int] NOT NULL,[GeneralRuleName] [nvarchar](50) NULL,[DeleteFlag] [int] NOT NULL
)CREATE TABLE [dbo].[DetailRule]([ID] [int] NOT NULL,[DetailRuleName] [nvarchar](50) NULL,[ParentId] [int] NULL,[DeleteFlag] [int] NOT NULL,
)CREATE TABLE [dbo].[DetailRule_bak]([ID] [int] NOT NULL,[DetailRuleName] [nvarchar](50) NULL,[ParentId] [int] NULL,[DeleteFlag] [int] NOT NULL,
)

创建触发器:

--增加
create trigger  triAddGeneralRuleon DetailRule
for insert --为什么事件触发as
begin  insert into [DetailRule_bak](ID,detailRuleName,ParentId,DeleteFlag)select ID,detailRuleName,ParentId,DeleteFlag from INSERTED
end--删除
create trigger  triDelGeneralRuleon GeneralRule
for delete --为什么事件触发as
delete DetailRule
from DetailRule dr,Deleted d
where dr.parentId=d.ID--修改
create trigger  triGeneralRuleon GeneralRule
for update --为什么事件触发as
if update (ID)
beginupdate DetailRule set parentId=i.IDfrom DetailRule dr,Deleted d,Inserted i --2个临时表Deleted和Inserted,分别表示触发事件的旧与新记录where dr.parentId=d.ID
end

if else 触发器

create table employee(emp_id int,emp_name nvarchar(50),gender int,department int,salary numeric(10,2))create table updated(emp_id int,salary numeric(10,2))insert into employee values(1,'tom',10,10,6000.00)insert into updated values(1,6500.00)create trigger up_salary on employee INSTEAD OF update as if update (salary) begindeclare @newSalary numeric(10,2)declare @oldSalary numeric(10,2)select  @newSalary = salary from updatedselect @oldSalary = salary from employee where emp_id = (select emp_id from updated)if @newSalary > @oldSalary * 1.1 print '工资变动不能超过原来工资的10%'elseupdate employee set salary = @newSalary where emp_id = (select emp_id from updated)end
go

转载于:https://www.cnblogs.com/chenh/p/10303790.html

Sql Server触发器的使用相关推荐

  1. SQL Server 触发器学习总结

    SQL菜鸟入门级教程之触发器 触发器简介:   触发器(trigger)是种特殊的存储过程,它的执行不是由程序调用,也不需要手动操作,它是由事件来触发,事件大家应该非常熟悉吧,比如按钮的Click事件 ...

  2. SQL server触发器中 update insert delete 分别给写个例子被。

    SQL server触发器中 update insert delete 分别给写个例子以及解释下例子的作用和意思被, 万分感谢!!!! 主要想知道下各个语句的书写规范. INSERT: 表1 (ID, ...

  3. 了解SQL Server触发器及触发器中的事务

    引述 首先,写这篇文章的目的是望能把我对触发器的理解,分享出来与大家一起学习.如果你对触发器和事务的概念有些了解,这篇文章对你来说会是很简单,或能让你更进一步的了解触发器里面的一些故事,以及触发器中事 ...

  4. 【转】了解SQL Server触发器及触发器中的事务

    引述 首先, 说下我写篇文章的目的,我希望能把我对触发器的理解,分享出来与你一起学习.如果你有对触发器和事务的概念,有些了解,这篇文章,对你来说会是很简单,或能让你更进一步的了解触发器里面的一些故事, ...

  5. SQL Server触发器创建、删除、修改、查看

    http://blog.csdn.net/tianwailaibin/article/details/8111766 本教程为大家介绍SQL Server触发器创建.删除.修改.查看方法. 一.触发器 ...

  6. mysql 触发器 sql server_喜忧参半的SQL Server触发器

    SQL Server触发器在非常有争议的主题.它们能以较低的成本提供便利,但经常被开发人员.DBA误用,导致性能瓶颈或维护性挑战. 本文简要回顾了触发器,并深入讨论了如何有效地使用触发器,以及何时触发 ...

  7. 15、SQL Server 触发器

    SQL Server 触发器 触发器是一种特殊的存储过程,只有当试图用数据操作语言DML来修改数据时才会触发,DML包含对视图和表的增.删.改. 触发器分为DML触发器和DDL触发器,其中DML触发器 ...

  8. sql 服务器实例怎样显示,SQL Server 触发器实例详解

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

  9. SQL server 触发器 instead of

    数据库SQL SERVER  触发器操作(部分) 使用instead of insert 在 课程表COURSE 中设置触发器,使老师张青的教授课程不超过3门 CREATE TRIGGER INSER ...

  10. sql server 触发器实时同步数据库表数据

    sql server 触发器实时同步数据库表数据 创建两个相同结构的数据库表 CREATE TABLE [dbo].[Table_1]([id] [varchar](50) NOT NULL,[nam ...

最新文章

  1. Postfix用户收发控制
  2. 皮一皮:古老中医博大精深!
  3. Scala偏函数使用示例
  4. 为什么发了个博客分分钟被各种网站花式转载=。=而不通知我
  5. VC跨进程数据(结构体)传递-WM_COPYDATA
  6. TIOBE 9 月编程语言:C++ 突起、R 越进前十
  7. 理论基础 —— 查找 —— 二叉排序树
  8. linux上 arm开发环境搭建,详解 LINUX下QT For ARM开发环境搭建过程
  9. Eclipse控制台Console使用说明
  10. windwos::mutex
  11. CS5532 C51驱动程序
  12. baidu.com 百度域名被劫持怎么办 baidu.yxsc33.com
  13. idea 复制java文件_IDEA复制项目Module出现java文件夹source root解决方法
  14. 总结知识,提高认知--牛腩总结
  15. 4G EPS 中的 PDN Connection
  16. 服务器的iso文件,裸金属服务器注册ISO文件
  17. HDU - 6609
  18. KVM - qcow2 和 raw 格式对比
  19. Android 如何OTG 鼠标,otg键盘和鼠标映射软件v5.2.0 Android版
  20. matlab 2ask,(最新整理)基于MATLAB的2ASK和2FSK调制仿真(通信原理实验报告)

热门文章

  1. Redis 4.0.2分布式锁的Java实现
  2. JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) )(转发)
  3. Mac电脑如何显示隐藏文件
  4. Silverlight入门系列]使用MVVM模式
  5. 用户管理和su,id 命令
  6. Linux之 proc文件系统
  7. 高并发第八弹:J.U.C起航(java.util.concurrent)
  8. 排序_简单排序_选择排序
  9. 人工智能岗位替代----办公文员
  10. mysql系列十、mysql索引结构的实现B+树/B-树原理