触发器什么时候触发,什么时候不触发

2023-12-26

关于 SQL Server 2005 中的触发器的非常普遍的问题。

在什么情况下会触发表触发器,什么情况下不会?

任何可以演示的代码示例都很棒。

我正在编写一个基于审计的数据库,只是想了解任何可能不会触发我为更新、删除和插入表而设置的触发器的情况。

举个例子来说明我的意思,

UPDATE MyTable SET name = 'test rows' WHERE id in (1, 2, 3);

以下语句仅触发更新触发器一次。


你希望他们什么时候开火?

CREATE TRIGGER AFTER ACTION

在操作之后运行(insert update delete)正在致力于。INSTEAD OF触发触发器来代替操作。

触发器的最大问题之一是,每当执行操作时它们就会触发,即使没有行受到影响。这不是一个错误,如果你不小心的话,它很快就会烧死你。

此外,通过触发器,您将使用inserted and deleted表。更新的行在两者中均列出。这让很多人望而却步,因为他们不习惯思考update as a delete then insert.

MSDN 文档实际上对触发器何时触发及其产生的效果进行了相当深入的讨论here https://msdn.microsoft.com/en-us/library/ms189799(v=sql.130).aspx.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

触发器什么时候触发,什么时候不触发 的相关文章

  • 为什么 Sql Server 2000 上的 TSQL 对小数点的舍入不一致?

    我正在尝试计算美元金额的折扣百分比 在 50 的情况下 有时你会得到半分钱 我需要将其四舍五入到最接近的一分钱 在Sql中 我的计算如下 round retail 0 5 2 0 如果我采用以下值 我会得到不同的结果 4 39 2 49 不
  • 如何跳过 SSIS 数据流中的最后一行

    我在用FlatFile Source Manager gt Script COmponent as Trans gt OLEDB destination在我的数据流中 源从平面文件读取所有行 我想跳过更新数据库的最后一行 预告片记录 由于它
  • 通过网络恢复数据库备份

    如何通过网络使用 SQL Server 2005 恢复数据库备份 我记得以前这样做过 但这样做的方式有些奇怪 您几乎没有选择使用网络文件作为备份源 在与 MS SQL Server 相同的用户下映射网络驱动器 路径 托管文件 使用 xp c
  • 大表的最佳主键格式

    我正在开发一个 ASP NET 应用程序 它有一些可能很大的数据表 我想知道定义主键的最佳方法是什么 我知道以前已经有人问过这个问题 但由于这是针对特定情况的 所以我认为这个问题是有效的 我在 SQL Server 2008 数据库上使用实
  • 没有特定表的MSSQL数据库备份

    我需要在 sql 中没有特定表的情况下进行计划备份 因为如果我对该表进行备份 将需要很长时间 我需要从备份中排除一张表 是否可以 如果没有该表 所有表和数据都应该位于数据库中 除了 PRIMARY 文件组之外 您还可以为该表设置一个单独的文
  • django pyodbc 数据源名称未找到

    当尝试连接到我的数据库服务器和 Django 中的数据库时 我收到错误 django db utils InterfaceError IM002 IM002 Microsoft ODBC Driver Manager 未找到数据源名称且未指
  • 在 Codeigniter 中从其他数据库切换动态数据库

    mi 文件 config php 是 active group default active record TRUE db master 是唯一的数据库 db master hostname localhost db master user
  • 智能感知不工作 SSMS 2014

    我知道有很多关于这个问题的帖子 但是我无法找到解决我的问题的方法 跑步 SMS 2014 with CU1 SSMS 和客户端工具上的版本 10 0 2342 0 Visual Studio 2010 SP1 10 0 40219 1 SP
  • .net 应用程序中的内存泄漏

    我正在 VB net 2005 中开发一个桌面应用程序 该应用程序包含一个间隔为 1 分钟的计时器 每次计时器计时 就会执行一组函数 大部分与数据库相关 最初 应用程序运行良好 在进程 任务管理器 中 每次调用计时器时 CPU 使用率都会达
  • jsp/servlet 从数组填充下拉框

    大家好 我正在尝试创建一个表单 允许您为某个主题创建一个实验室 它有一个下拉框 您可以在其中选择与该用户相关的主题 但是 当我去加载页面时 我收到此错误g apache jasper JasperException java lang Nu
  • 如何在 PL/pgSQL 中“执行”CTE 查询?

    我尝试在下面的代码示例中模拟我的问题 在下面的代码中 我正在做一个select from test在一个程序中 众所周知 我们必须使用perform关键字为此 这很好用 perform from test 但是 如果我尝试将这个简单查询重写
  • DB2 Express 的默认用户名和密码

    我已在本地 Windows 计算机上安装了 Db2 Express 谁能告诉我默认的管理员凭据是什么 我尝试过以下组合 什么都不起作用 用户名 db2admin 密码 db2admin 用户名 db2admin 密码 密码123 应该是您本
  • 在 WHERE 子句中使用可选参数

    我有一个SP ALTER PROCEDURE dbo sp Compare lst varchar 100 frst varchar 100 NULL passportNo varchar 50 NULL AS SELECT FROM db
  • MSSQL:如何使用代码编写存储过程创建脚本?

    我正在尝试使用一个数据库中存在但另一个数据库中不存在的 information schema routines 查询存储过程定义列表 SELECT t1 Routine Definition FROM server1 MyDatabase
  • Delphi XE5 FireDAC 错误:无法加载供应商库 [libmysql.dll 或 libmysqld.dll]

    我在 Windows 7 64 位上使用 Delphi XE5 只是尝试 FireDAC 组件 我正在使用一个 TFDConnection 组件连接到本地 MySQL 数据库 v5 6 15 我已经将 libmysql dll 32位 v5
  • TSQL:无法对 COUNT(*) 执行聚合函数 AVG 来查找一天中最繁忙的时间

    考虑一个保存日志数据的 SQL Server 表 重要的部分是 CREATE TABLE dbo CustomerLog ID int IDENTITY 1 1 NOT NULL CustID int NOT NULL VisitDate
  • TSQL - 执行CLR权限

    我从 CLR net Assembly 获得了一个 sql 过程 该过程在执行时返回错误 Msg 6522 Level 16 State 1 Procedure sp HelloWorld Line 0 A NET Framework er
  • 如何从实体框架中的 .edmx 文件生成数据库?

    我不得不突然转而使用 Code First Entity Framework 4 1 一开始我对这个框架一无所知 但在过去的 8 个小时里 我现在对阅读博客和文章感到更加自在 特别是这个博客 http blogs msdn com b ad
  • SQL查询获取最后两条记录的DateDiff

    我有一个名为 Event 的表 其中 eventNum 作为主键 日期作为 SQL Server 2008 R2 中的 datetime2 7 我试图获取表中最后两行的日期并以分钟为单位获取差异 这就是我目前所拥有的 Select DATE
  • 关于 Cassandra 与 MySQL 的一些建议

    几天前我在这里问了一个问题 得到了一些非常好的答案 我正在考虑做一个带有个人资料 个人简介等的facebook风格的网站 并询问我是否应该使用mysql 答案是使用Cassandra 因为好多了 我只是问这是每个人都会建议的 只是我对mys

随机推荐

  • 如何在 slurm 作业期间监控资源?

    我正在我们的大学集群 普通用户 无管理员权限 上运行作业 该集群使用 SLURM 调度系统 我有兴趣绘制随时间推移 即作业运行时 的 CPU 和内存使用情况 我知道关于sacct and sstat我正在考虑将这些命令包含在我的提交脚本中
  • 如何确保幻灯片选项卡在 html 中显示 3 个选项卡

    我在手机上有一个应用程序 手机屏幕较小 无法同时显示全部 7 个选项卡 因此 它将显示为两行不整齐的选项卡 我希望它一次显示 3 个选项卡 例如 在幻灯片 2 中 它将在左侧显示幻灯片 1 的选项卡 在中间显示幻灯片 2 在右侧显示幻灯片
  • 欧芹自定义错误消息不起作用

    我有以下输入字段
  • 一种膨胀/收缩(偏移、缓冲)折线的算法

    相关问题 一种用于膨胀 收缩 偏移 缓冲 多边形的算法 https stackoverflow com questions 1109536 an algorithm for inflating deflating offsetting bu
  • 多维数组上的 SetLength

    我想知道如何在 Pascal 中设置多维数组的长度 创建动态多维数组 喜欢SetLength arr len 对于一维数组来说 我找不到答案 var arr array of array of real SetLength arr 10 2
  • 如何合并空字符串和 NULL 值?

    我正在尝试制作最快的 COALESCE 它接受两个或多个参数 并返回第一个非空和非空 值 我正在使用这个 CREATE OR REPLACE FUNCTION coalescenonempty VARIADIC in ordered act
  • Ionic 2 - RC2.0,上传文件(传输)的插件无法工作

    在过去的 2 天里 我一直在努力让我的应用程序将手机摄像头拍摄的图像上传到 PHP 服务器上 服务器上的代码工作得很好 但是 FILES变量为空 我的问题和这里描述的类似 也没有解决方案更新到 ionic 2 RC0 后 Cordova 文
  • 关于索引器和/或泛型的问题

    如何知道一个对象是否实现了索引器 我需要共享 DataRow 和 IDataReader 的逻辑 但它们不共享任何接口 我也尝试过使用泛型 但不知道应该对 where 子句施加什么限制 public class Indexer myObje
  • backbone.js - 从点击事件访问模型

    我有一个包含 CellModels 的 CellCollection 的 BoardView 我从数据库中获取集合 然后创建 CellView 这一切都很顺利 直到我尝试通过 BoardView 上的单击事件访问 CellModel 我根本
  • @Autowired 字段获取 null

    我的类类别有这个属性编辑器 我试图将其自动连接到服务 问题是服务不断获得空值 另外 这似乎是孤立的 或者至少我是这么认为的 因为我在控制器上自动连接了同一类的字段 所以我不知道发生了什么 我已经遇到了这样的错误 但是在那个时候根本就不管用
  • 在 oracle 上的存储过程中返回单行

    我正在使用 php 和 oracle 我如何返回存储过程中的一行以像选择查询一样使用 以便我可以将它们读入 php ini 例如 declare or replace procedure select row bookingid in in
  • 等到 UITableView 完成 reloadData [重复]

    这个问题在这里已经有答案了 可能的重复 当 UITableView 完成请求数据时收到通知吗 https stackoverflow com questions 1483581 get notified when uitableview h
  • 我想让输入字段具有唯一值

    假设页面 A 有 5 个输入字段
  • 在 JBoss 7.1.1 中使用 DEBUG 级别进行日志记录

    目标 我的应用程序应该包含错误和调试级别的消息 日志记录级别必须通过 JBoss 管理控制台设置 切换 日志记录应写入标准 JBoss 日志文件和服务器控制台 我尝试使用 java util logging Logger 但该记录器没有必要
  • Perl - 附加到文件的最后一行(同一行)

    有人可以让我知道如何根据当前值附加输出文件的最后一个条目吗 例如 我正在生成一个输出 txt文件 说 a b c d 10 通过一些处理我得到了价值20现在我希望分配该值并与之前的设置对齐 使其 a b c d 10 20 假设最后一行没有
  • 如何修复我在 AWS 中上传的 Flask 应用程序中的 502 错误?

    我在使用 Elastic beanstalk 将 Flask 应用程序上传到 AWS 服务器时遇到问题 上传代码后 环境中出现 502 bad gateway 错误 这是我花了几个小时解决这个问题并使用 Flask Eb 一年多后的 2 美
  • 如何在 ASP.NET MVC 中基于每个用户删除输出缓存?

    我在用着VaryByCustom在每个浏览器和每个用户的基础上创建输出缓存 OutputCache Duration 6000 VaryByParam VaryByCustom browser userName 我已经重写了GetVaryB
  • MongoDb - 查询数组

    基于 MongoDB 文档https docs mongodb com manual tutorial query arrays https docs mongodb com manual tutorial query arrays 我有这
  • 枚举变量的默认值是多少?

    一个枚举变量 有人知道它是否总是默认为第一个元素 它是枚举中代表值的任何成员0 具体而言 从文档 http msdn microsoft com en us library sbbt4032 aspx 默认值enum E是表达式产生的值 E
  • 触发器什么时候触发,什么时候不触发

    关于 SQL Server 2005 中的触发器的非常普遍的问题 在什么情况下会触发表触发器 什么情况下不会 任何可以演示的代码示例都很棒 我正在编写一个基于审计的数据库 只是想了解任何可能不会触发我为更新 删除和插入表而设置的触发器的情况