Sql Server触发器的使用
创建表:
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触发器的使用相关推荐
- SQL Server 触发器学习总结
SQL菜鸟入门级教程之触发器 触发器简介: 触发器(trigger)是种特殊的存储过程,它的执行不是由程序调用,也不需要手动操作,它是由事件来触发,事件大家应该非常熟悉吧,比如按钮的Click事件 ...
- SQL server触发器中 update insert delete 分别给写个例子被。
SQL server触发器中 update insert delete 分别给写个例子以及解释下例子的作用和意思被, 万分感谢!!!! 主要想知道下各个语句的书写规范. INSERT: 表1 (ID, ...
- 了解SQL Server触发器及触发器中的事务
引述 首先,写这篇文章的目的是望能把我对触发器的理解,分享出来与大家一起学习.如果你对触发器和事务的概念有些了解,这篇文章对你来说会是很简单,或能让你更进一步的了解触发器里面的一些故事,以及触发器中事 ...
- 【转】了解SQL Server触发器及触发器中的事务
引述 首先, 说下我写篇文章的目的,我希望能把我对触发器的理解,分享出来与你一起学习.如果你有对触发器和事务的概念,有些了解,这篇文章,对你来说会是很简单,或能让你更进一步的了解触发器里面的一些故事, ...
- SQL Server触发器创建、删除、修改、查看
http://blog.csdn.net/tianwailaibin/article/details/8111766 本教程为大家介绍SQL Server触发器创建.删除.修改.查看方法. 一.触发器 ...
- mysql 触发器 sql server_喜忧参半的SQL Server触发器
SQL Server触发器在非常有争议的主题.它们能以较低的成本提供便利,但经常被开发人员.DBA误用,导致性能瓶颈或维护性挑战. 本文简要回顾了触发器,并深入讨论了如何有效地使用触发器,以及何时触发 ...
- 15、SQL Server 触发器
SQL Server 触发器 触发器是一种特殊的存储过程,只有当试图用数据操作语言DML来修改数据时才会触发,DML包含对视图和表的增.删.改. 触发器分为DML触发器和DDL触发器,其中DML触发器 ...
- sql 服务器实例怎样显示,SQL Server 触发器实例详解
Microsoft SQL Server™ 2000 提供了两种主要机制来强制业务规则和数据完整性:约束和触发器.触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件 ...
- SQL server 触发器 instead of
数据库SQL SERVER 触发器操作(部分) 使用instead of insert 在 课程表COURSE 中设置触发器,使老师张青的教授课程不超过3门 CREATE TRIGGER INSER ...
- sql server 触发器实时同步数据库表数据
sql server 触发器实时同步数据库表数据 创建两个相同结构的数据库表 CREATE TABLE [dbo].[Table_1]([id] [varchar](50) NOT NULL,[nam ...
最新文章
- Postfix用户收发控制
- 皮一皮:古老中医博大精深!
- Scala偏函数使用示例
- 为什么发了个博客分分钟被各种网站花式转载=。=而不通知我
- VC跨进程数据(结构体)传递-WM_COPYDATA
- TIOBE 9 月编程语言:C++ 突起、R 越进前十
- 理论基础 —— 查找 —— 二叉排序树
- linux上 arm开发环境搭建,详解 LINUX下QT For ARM开发环境搭建过程
- Eclipse控制台Console使用说明
- windwos::mutex
- CS5532 C51驱动程序
- baidu.com 百度域名被劫持怎么办 baidu.yxsc33.com
- idea 复制java文件_IDEA复制项目Module出现java文件夹source root解决方法
- 总结知识,提高认知--牛腩总结
- 4G EPS 中的 PDN Connection
- 服务器的iso文件,裸金属服务器注册ISO文件
- HDU - 6609
- KVM - qcow2 和 raw 格式对比
- Android 如何OTG 鼠标,otg键盘和鼠标映射软件v5.2.0 Android版
- matlab 2ask,(最新整理)基于MATLAB的2ASK和2FSK调制仿真(通信原理实验报告)
热门文章
- Redis 4.0.2分布式锁的Java实现
- JVM 内存初学 (堆(heap)、栈(stack)和方法区(method) )(转发)
- Mac电脑如何显示隐藏文件
- Silverlight入门系列]使用MVVM模式
- 用户管理和su,id 命令
- Linux之 proc文件系统
- 高并发第八弹:J.U.C起航(java.util.concurrent)
- 排序_简单排序_选择排序
- 人工智能岗位替代----办公文员
- mysql系列十、mysql索引结构的实现B+树/B-树原理