位置: 编程技术 - 正文

SQL SERVER 触发器介绍(sql Server 触发器的when的用法)

编辑:rootadmin

推荐整理分享SQL SERVER 触发器介绍(sql Server 触发器的when的用法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql server 触发器 条件,sql Server 触发器,sql Server 触发器的when的用法,sql Server 触发器的when的用法,sqlserver触发器语法,sqlserver触发器语法,sql Server 触发器 级联删除,sqlserver触发器语法,内容如对您有帮助,希望把文章链接给更多的朋友!

触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。

Ø 什么是触发器

触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。SQL Server 中触发器可以分为两类:DML触发器和DDL触发器,其中DDL触发器它们会影响多种数据定义语言语句而激发,这些语句有create、alter、drop语句。

DML触发器分为:

1、 after触发器(之后触发)

a、 insert触发器 b、 update触发器 c、 delete触发器

2、 instead of 触发器 (之前触发)

其中after触发器要求只有执行某一操作insert、update、delete之后触发器才被触发,且只能定义在表上。而instead of触发器表示并不执行其定义的操作(insert、update、delete)而仅是执行触发器本身。既可以在表上定义instead of触发器,也可以在视图上定义。 触发器有两个特殊的表:插入表(instered表)和删除表(deleted表)。这两张是逻辑表也是虚表。有系统在内存中创建者两张表,不会存储在数据库中。而且两张表的都是只读的,只能读取数据而不能修改数据。这两张表的结果总是与被改触发器应用的表的结构相同。当触发器完成工作后,这两张表就会被删除。Inserted表的数据是插入或是修改后的数据,而deleted表的数据是更新前的或是删除的数据。

对表的操作

Inserted逻辑表

Deleted逻辑表

增加记录(insert)

SQL SERVER 触发器介绍(sql Server 触发器的when的用法)

存放增加的记录

删除记录(delete)

存放被删除的记录

修改记录(update)

存放更新后的记录

存放更新前的记录

Update数据的时候就是先删除表记录,然后增加一条记录。这样在inserted和deleted表就都有update后的数据记录了。注意的是:触发器本身就是一个事务,所以在触发器里面可以对修改数据进行一些特殊的检查。如果不满足可以利用事务回滚,撤销操作。

Ø 创建触发器

语法

更新列级触发器可以用update是否判断更新列记录;

# instead of类型触发器

instead of触发器表示并不执行其定义的操作(insert、update、delete)而仅是执行触发器本身的内容。

创建语法

oracle忘记sys/system/scott用户密码的解决方法 一、忘记除SYS、SYSTEM用户之外的用户的登录密码。用SYS(或SYSTEM)用户登录。CONNSYS/PASS_WORDASSYSDBA;使用如下语句修改用户的密码。ALTERUSERuser_nameIDENTIFIEDBYnewp

SQL Server高级内容之case语法函数概述及使用 1.Case函数的用法(1)使用类似:switch-case与if-elseif。(2)语法:case[字段]when表达式then显示数据when表达式then显示数据else显示数据end(3)百分制转换素质教育1)

SQL判断字段列是否存在的方法 增加字段altertabledocdspadddspcodechar()删除字段ALTERTABLEtable_NAMEDROPCOLUMNcolumn_NAME修改字段类型ALTERTABLEtable_nameALTERCOLUMNcolumn_namenew_data_type改名sp_rename更改当前

标签: sql Server 触发器的when的用法

本文链接地址:https://www.jiuchutong.com/biancheng/347458.html 转载请保留说明!

上一篇:SQL Server中删除重复数据的几个方法(sql server中删除触发器用)

下一篇:oracle忘记sys/system/scott用户密码的解决方法(oracle忘记用户名密码怎么办)

  • 企业给员工购买社保的规定
  • 二手车经纪公司和中介的区别
  • 支票退票怎么做账务处理
  • 城建税少申报了怎样罚款
  • 国税 增值税
  • 一次性支付一年房租怎么做账每月如何结转
  • 出口港杂费是什么费用
  • 股东以外的人投资怎么做账
  • 存货盘亏计入什么收入
  • 工程咨询服务发展指导意见坚持市场培优的原则
  • 办理产权证费用明细
  • 单位社保没推送
  • 冲减成本怎么做会计分录
  • 当月抵扣的发票可以下个月记账吗
  • 长期借款利息按月计提按季支付
  • 小规模纳税人与注册资金有关系吗
  • 通发票备注栏写什么内容
  • 技术服务合同增值税免税吗
  • 企业所得税年报错了怎么更正
  • 去年的暂估成本今年如何冲掉
  • 电子通行费如何开发票
  • 信息化生产力是指什么
  • linux mint 20.1安装
  • 怎么实现增删改查
  • 路由器网速慢怎么设置
  • linux统计文件行数字数
  • nomoreporn.exe - nomoreporn是什么进程 有什么用
  • 微软正在更新office
  • 劳动法律法规包含哪些
  • 员工重复报销后如何处理
  • 货到付款怎么做账
  • pytorch说明文档
  • 投资企业撤回或减少投资企业所得税
  • 什么是动态表单
  • 没有进项开销项需要交几个点
  • html制作动画代码
  • YOLOv8(n/s/m/l/x)&YOLOv7(yolov7-tiny/yolov7/yolov7x)&YOLOv5(n/s/m/l/x)不同模型参数/性能对比(含训练及推理速度)
  • mysql分区实现
  • 税款已缴纳可以作废申报吗
  • 进项税转出的金额能加计吗
  • windows7/windows10/windows11最强Audacity音频编辑播放器软件,免费下载
  • mysql union or
  • python中lambda用法
  • 租金收入怎样缴纳个税
  • 企业所得税征收方式有哪些?
  • 企业所得税征前还是征后
  • 黄金珠宝加工销售怎么样
  • 捐赠人赞助属于什么会计科目
  • 借款合同需要交印花税吗
  • 福利费可以不走应付职工薪酬吗
  • 递延所得税会计处理全过程
  • 购建固定资产属于投资活动吗
  • 财务费用贷方余额怎么结转本年利润
  • 以前年度的固定资产入成原材料了怎么办
  • 非贸付汇计税基础
  • 公司卖土地怎么避税
  • sql server的数据库
  • windows 10预览版
  • 使用二氧化碳灭火器时人应该站在什么位置
  • ubuntuiso
  • win8.1系统HDMI高清线连接电视后没有声音的原因及解决办法
  • win7ghost纯净版美化版
  • win10查看驱动
  • win10不能玩qq堂没反应
  • unity物体旋转到指定角度
  • jquery实现页面切换
  • jquery 插件写法
  • windows python2和python3共存
  • unity ugui组件
  • js判断浏览器内核和版本
  • js如何保留一位小数
  • node express 路由
  • 云南新农合网上怎么交
  • 江西省电子税务局登录入口
  • 党建引领结对共建生态
  • 河南省城镇土地使用税优惠政策2020
  • 江苏省发票查询电话
  • 地税局上班时间是几点
  • 蓬溪房价2020最新消息
  • 办公电话怎么设置铃声
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设