4

我是触发器的新手,从 sql server 中的数据库表中选择值时需要触发触发器。我尝试在插入/更新和删除时触发触发器。选择值时有什么方法可以触发触发器吗?

4

3 回答 3

4

我知道只有两种方法可以做到这一点,而且都不是触发器。

  1. 您可以使用存储过程来运行查询并将查询记录到表和您想知道的其他信息中。
  2. 您可以使用 SQL Server 的审计功能

我从来没有使用过后者,所以我不能说易用性。

于 2013-01-30T12:40:38.820 回答
0

不,没有规定在 SELECT 操作上触发。正如前面的答案所建议的,编写一个存储过程,该过程采用从 SEECT 查询中获取的参数,并在所需的 SELECT 查询之后调用此过程。

于 2013-01-30T12:48:04.997 回答
-2

SpectralGhost 的回答假设您正在尝试对谁或什么查看了哪些数据进行安全审计。

但是,如果您对 sql 足够陌生,不知道 SELECT 触发器在概念上是愚蠢的,那么我会感到震惊,您可能正在尝试做其他事情,在这种情况下,您实际上是在谈论锁定而不是审计 - 即一旦一个进程具有读取您想要阻止其他进程访问它的特定记录(或者可能是不同表中的其他一些相关记录),直到事务被提交或回滚。在这种情况下,触发器绝对不是您的解决方案(它们很少是)。请参阅 BOL 关于事务控制和锁定

于 2013-01-30T15:41:24.163 回答