2

如果我有一个简单的表,并且当列(并且我知道要查找的列)发生更改时我想做一些事情(比如..执行存储过程)。

这可能吗?

版本:SQL Server 2008 R2。

示例表:-

ID INTEGER PRIMARY KEY
Name NVARCHAR(100) NOT NULL
Age TINYINT NOT NULL
HairColour TINYINT NOT NULL

所以..如果名称字段的内容发生变化,那么我将执行存储过程'Foo'。

有任何想法吗?

4

1 回答 1

4

采用:

CREATE TRIGGER trig_updateName ON YOUR_TABLE

FOR UPDATE AS

  IF NOT UPDATE(Name) 
  BEGIN

     RETURN

  END

  EXEC foo

每当我们更新 YOUR_TABLE 中的一个/多个记录时,都会自动执行此触发器。“UPDATE”函数用于检查“Name”字段是否已被执行“trig_updateAuthor”触发器的“UPDATE”查询更新。如果字段没有,则触发器将控制权返回给 SQL 服务器。

于 2010-08-24T02:57:11.557 回答