当前位置: 首页 > 面试题库 >

使用触发器将更改记录到数据库表中

秦浩漫
2023-03-14
问题内容

我正在寻找一种记录SQL Server
2005数据库中一组特定表上发生的更改的好方法。我相信,做到这一点的最佳方法是通过对更新和删除执行触发器。无论如何,有没有要抓住正在运行的实际语句?一旦有了该语句,我就可以轻松地将其记录在其他地方(其他数据库表)。但是,我还没有找到一种简单的方法(如果可能)来获取正在运行的SQL语句。


问题答案:

触发器不好,我会远离触发器。

如果您尝试对某些问题进行故障排除,请使用特定条件将Sql Profiler附加到数据库。这将记录每个查询的运行情况,以供您检查。

另一个选择是更改为调用程序以记录其查询。这是非常普遍的做法。



 类似资料:
  • 问题内容: 我有一张桌子: 我会记录将任何机会记录到field1、2或3上: 我正在使用MySQL 5,我想创建一个触发器来做。我想在data_table更新时随时向data_tracking中插入新行,并记录旧的/更新的值以及更改的字段。我尝试了以下方法,但没有成功。 它在插入行上给出了错误,我不太确定该使用什么语法,或者我是否正以正确的方式进行操作。任何帮助,将不胜感激。谢谢。 问题答案: 插

  • 问题内容: 如何创建数据库触发器以将行更改记录到H2中的另一个表? 在MySQL中,这可以轻松完成: 问题答案: 声明此触发器: 使用Java / JDBC实现触发器: 用jOOQ实现触发器: 由于您在问题中添加了jOOQ标记,因此我怀疑这种替代方法也可能是相关的。您当然可以在H2触发器内使用jOOQ:

  • 问题内容: 我有一个班上的一个项目。当我们的两个表对它们进行了更改时,我们需要创建一个日志:insert / update /delete。我们需要使用Oracle触发器和PL-SQL。在日志文件中,我们需要记录UserID,DateTime,IPAddress和Event(插入/更新/删除)。我知道如何设置触发器,但是我遇到的主要问题是UserID(从以UserID在Users表中登录到PHP站

  • 我有两张表“产品”和“库存”。表将包含所有产品。在库存表中,我每次都将产品的库存保存为一个新的条目。 我有两种类型的产品。“1”类型的产品将以stock作为编号,“0”类型的产品将以stock作为重量。因此,在products表中,我创建了两列“stock_weight(保持在库存表中输入的总重量)”和“pieces(保持在库存表中输入的总数量)”。 为此,我在stock表上创建了一个触发器,每当

  • 问题内容: 我似乎无法创建触发器。我已经尝试了以下两种方式进行更新。我通过插入语句不断收到语法错误。我搜索了过去4个小时的论坛和网络搜索,没有任何变化。对此还有更多代码,它基本上会重复执行。任何帮助,将不胜感激。谢谢你。我正在运行MySQL 5.0,并通过phpMyAdmin 2.8.2.4作为Administrator / Root访问。 TRY 1(在所有字段和名称上带有和不带有qoutes)

  • 问题内容: 我有一个UPDATE触发器,它产生如下的INSERTED和DELETED表: 插入式 已删除 我想将此更新捕获到日志表中。我的Log表(对于所有表都是全局的)是这样的(然后我必须处理我的INSERTED和DELETED表): 是表的系统object_id,我在其中执行了UPDATE语句,UPDATEd列的主键的值,是我映射到每个表中每个列的自定义ID。仅当通过UPDATE更改列的数据时