1

可以创建特定的单元触发吗?

或者是

IF UPDATE(COLUMN) WHERE OTHER_COLUMN LIKE 'JT'

SQL Server 2008 中的等价物?

得到第二个答案后编辑---

IF not UPDATE(CurrentNo) --// Wanted to do like this : where series ='JT'
    return

IF not EXISTS(SELECT 'True'
              FROM Inserted i
              JOIN Deleted d ON i.Series = d.Series
              WHERE i.Series = 'JT' AND d.Series = 'JT')
    return

看起来不错吧!请评论。

4

2 回答 2

1

不,没有办法以声明方式执行此操作。您需要创建一个通用更新触发器并将逻辑放入其中以立即返回IF NOT UPDATE (column)

如果感兴趣的列更新,那么您将查询inserteddeleted伪表以允许您处理满足您感兴趣的条件的行。

于 2010-10-11T09:45:07.880 回答
0

Tiggers 是在表格上指定的,而不是在行、列或单元格上。在触发器的主体内,您将可以访问 INSERTED 和 DELETED 表。您可以将它们连接在一起以确定在更新期间更改了哪些列。SQL Server 2008(以及以前的版本)中提供的UPDATE()函数是一种用于确定列是否已更改的速记方法。

于 2010-10-11T09:53:36.597 回答