1

我正在使用 SQL Server 2008。我有存储过程,它(在某些情况下)在我的表中插入数据,每次打开窗口时都会从应用程序调用这个存储过程。SQL Profiler 显示如下

exec TEST.dbo.spInsertRecords @parameter

现在我想要的是每当调用这个存储过程来执行时触发一个触发器。可能吗?如果是,请分享语法示例。

4

2 回答 2

1

触发器是在表上设置的,如果你真的需要在调用你的过程时触发一些东西(我真的不明白为什么,因为你应该能够修改过程来做你想要的任何行为),添加一些虚拟表(一个日志表? ) ,在该表上创建触发器(例如在插入时),并在过程中“触发”触发器(插入一行)。

于 2013-09-17T08:23:48.200 回答
-1

如果期望触发器执行某些代码,例如将记录写入日志。

  1. 将代码直接写入过程中。

  2. 如果要在所有过程之前或之后执行通用代码,请将代码写在执行过程的地方。

例如在 PHP 中:

odbc_exec("执行 my_trigger_before '$procedure_name' @parameters;
执行 $procedure_name @parameters;
执行 my_trigger_after '$procedure_name' @parameters;")

于 2020-02-09T08:53:48.500 回答