位置: 编程技术 - 正文

SQL触发器实例讲解(sql触发器语句)

编辑:rootadmin
SQL触发器实例1 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。 常见的触发器有三种:分别应用于Insert , Update , Delete 事件。 我为什么要使用触发器?比如,这么两个表: 用到的功能有: 1.如果我更改了学生的学号,我希望他的借书记录仍然与这个学生相关(也就是同时更改借书记录表的学号); 2.如果该学生已经毕业,我希望删除他的学号的同时,也删除它的借书记录。 等等。 这时候可以用到触发器。对于1,创建一个Update触发器: 理解触发器里面的两个临时的表:Deleted , Inserted 。注意Deleted 与Inserted分别表示触发事件的表“旧的一条记录”和“新的一条记录”。 一个数据库系统中有两个虚拟表用于存储在表中记录改动的信息,分别是: 虚拟表Inserted 虚拟表Deleted 在表记录新增时 存放新增的记录 不存储记录 修改时 存放用来更新的新记录 存放更新前的记录 删除时 不存储记录 存放被删除的记录 一个Update 的过程可以看作为:生成新的记录到Inserted表,复制旧的记录到Deleted表,然后删除Student记录并写入新纪录。 对于2,创建一个Delete触发器 从这两个例子我们可以看到了触发器的关键:A.2个临时的表;B.触发机制。 SQL触发器实例2 补充: 1、本示例主要通过一个简单的业务规则实现来进行触发器使用的说明,具体的要根据需要灵活处理; 2、关于触发器要理解并运用好 INSERTED ,DELETED 两个系统表; 3、本示例创建的触发器都是 FOR INSERT ,具体的语法可参考: Trigger语法 4、关于触发器,还应该注意 (1)、DELETE 触发器不能捕获 TRUNCATE TABLE 语句。 (2)、触发器中不允许以下 Transact-SQL 语句: ALTER DATABASE CREATE DATABASE DISK INIT DISK RESIZE DROP DATABASE LOAD DATABASE LOAD LOG RECONFIGURE RESTORE DATABASE RESTORE LOG (3)、触发器最多可以嵌套 层。 */ --修改触发器 --实质上,是将 CREATE TRIGGER ... 修改为 ALTER TRIGGER ...即可。 --删除触发器 DROP TRIGGER xxx GO --删除测试环境 DROP TABLE 卷烟库存表 GO DROP TABLE 卷烟销售表 GO DROP TRIGGER T_INSERT_卷烟库存表 GO DROP TRIGGER T_INSERT_卷烟销售表 GO ################################################################## 触发器的基础知识和例子 :create trigger tr_name on table/view {for | after | instead of } [update][,][insert][,][delete] [with encryption] as {batch | if update (col_name) [{and|or} update (col_name)] } 说明: 1 tr_name :触发器名称 2 on table/view :触发器所作用的表。一个触发器只能作用于一个表 3 for 和after :同义 4 after 与instead of :sql 新增项目afrer 与 instead of 的区别 After 在触发事件发生以后才被激活,只可以建立在表上 Instead of 代替了相应的触发事件而被执行,既可以建立在表上也可以建立在视图上 5 insert、update、delete:激活触发器的三种操作,可以同时执行,也可选其一 6 if update (col_name):表明所作的操作对指定列是否有影响,有影响,则激活触发器。此外,因为delete 操作只对行有影响, 所以如果使用delete操作就不能用这条语句了(虽然使用也不出错,但是不能激活触发器,没意义)。 7 触发器执行时用到的两个特殊表:deleted ,inserted deleted 和inserted 可以说是一种特殊的临时表,是在进行激活触发器时由系统自动生成的,其结构与触发器作用的表结构是一 样的,只是存放 的数据有差异。 续 下面表格说明deleted 与inserted 数据的差异 deleted 与inserted 数据的差异 Inserted 存放进行insert和update 操作后的数据 Deleted 存放进行delete 和update操作前的数据 注意:update 操作相当于先进行delete 再进行insert ,所以在进行update操作时,修改前的数据拷贝一条到deleted 表中,修改后 的数据在存到触发器作用的表的同时,也同时生成一条拷贝到insered表中

推荐整理分享SQL触发器实例讲解(sql触发器语句),希望有所帮助,仅作参考,欢迎阅读内容。

SQL触发器实例讲解(sql触发器语句)

文章相关热门搜索词:sql触发器实例讲解视频,sql触发器的使用及语法,sql触发器工作原理,sql触发器的使用及语法,sql触发器的使用及语法,sql触发器菜鸟教程,sql触发器的使用及语法,sql触发器实例详解,内容如对您有帮助,希望把文章链接给更多的朋友!

使用FORFILES命令来删除SQLServer备份的批处理 虽然有很多种方式可以解决这个问题,但是我们可以用T-SQL代码来处理这个文件删除过程。我用xp_cmdshell命令和FORFILES命令来处理类似于你所列出的过程

sqlserver中查询横表变竖表的sql语句简析 首先是三张表,CNo对应的是课程,在这里我就粘贴了。主表人名表按照常规查询SELECTs.SName,c.CName,s2.SCgradeFROMSsINNERJOINSCs2ONs2.SNo=s.SNoINNERJOINCcONc.CNo=s2.CNo那

sql server中批量插入与更新两种解决方案分享(存储过程) 1.游标方式DECLARE@DataNVARCHAR(max)SET@Data='1,tanw,2,keenboy'--Id,NameDECLARE@dataItemNVARCHAR()DECLAREdata_cursorCURSORFOR(SELECT*FROMsplit(@Data,';'))OPENdata_cursorFETCHNEXTFROMdata_cursorI

标签: sql触发器语句

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

上一篇:sqlserver 多表查询不同数据库服务器上的表(sqlserver多表查询 索引)

下一篇:使用FORFILES命令来删除SQLServer备份的批处理(forval命令)

  • 领用库存商品用于固定资产
  • 财政拨款结余明细科目编码
  • 发票号码代码不合法
  • 境外企业转让非居民企业
  • 长期挂账的应付账款如何写申请报告
  • 捐赠纳税调增金额怎么算
  • 销项负数发票如何勾选
  • 资本公积在现金流量表哪里体现
  • 项目部租房办公应计入什么费用
  • 买的厨房用品算什么费用
  • 国税注销地税没注销怎么办
  • 一般纳税人销售自己使用过的物品
  • 股票内在价值计算公式中级财务管理
  • 不应计入税金及附加的有哪些
  • 其他法律依据
  • 留抵税额怎么计算
  • 资产处置损失计算方法
  • 没收到发票可以勾选认证吗
  • 支票结算方式下用其他货币资金账户
  • 销售不动产增值税计税依据
  • 长期待摊费用以后怎么摊销
  • 绩效奖金是否属于工资判决书
  • 垫付资金成本
  • 二季度所得税申报时间
  • 个人购买经济适用住房享受减半征收契税优惠应报送
  • 清华同方笔记本怎么进入u盘启动
  • 计提理财利息分录
  • 实收资本属于会计准则吗
  • 个税系统添加人员出现证件号码不符合一般规则
  • windows 11怎么用
  • win10专业版0x803fa067
  • 苹果发布macOS更新
  • PHP:mcrypt_enc_get_iv_size()的用法_Mcrypt函数
  • 成本核算方法主要有哪些
  • 新会计准则里的现金流量的公式
  • 境外服务费代扣代缴所得税计算
  • ai当前的发展
  • 印花税税目税率表新旧对比
  • 车辆处置收入入什么科目
  • ubuntu端口不能远程访问
  • 股权收购账务处理
  • php变量有哪些特殊值
  • 境外企业在境内投资是否备案
  • 食品财务走账
  • 加油发票怎么报税
  • 如何查看发票是否作废
  • sqlldr并发
  • 去税务局流程
  • 阶段性减免企业社保费实施政策对象
  • 以非现金偿还债务的情形
  • 4s店送的赠品怎么样
  • 银行季度结息怎么记账
  • 收到知识产权服务费入什么科目
  • 自产自销属于商品吗
  • 季度盈利弥补以前年度亏损的账务处理
  • 汇算清缴后多交的企业所得税能退吗
  • 每月发票认证时间
  • 机械租赁怎么开9个点
  • win10安装sqlserver2016出错
  • mysql innode
  • windows7安装后正常使用的安装方法
  • redhat linux6.5安装教程
  • qqprotect.exe是什么进程?qqprotect.exe怎么禁止自动启动?
  • macbook快捷操作大全
  • scrfs.exe - scrfs是什么进程 有什么用
  • javascriptz
  • Tips(1)glewExperimental
  • 浅谈python
  • jquery开发项目
  • app启动页动画效果
  • js文件设置编码
  • android开发中默认的数据库
  • js状态管理
  • python xml 解析
  • 北京供暖 2020
  • 重庆两江新区总工会社会化工作者待遇
  • 车船税优惠政策2022年
  • 个体工商户如何注销
  • 金税盘和uk
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设