Jas*_*n M 30 sql sql-server triggers sql-server-2005
如果有的话:
IF UPDATE (col1)
Run Code Online (Sandbox Code Playgroud)
...在表上的SQL服务器触发器中,仅当col1已更改或已更新时才返回true吗?
我有一个常规的更新查询
UPDATE table-name
SET col1 = 'x',
col2 = 'y'
WHERE id = 999
Run Code Online (Sandbox Code Playgroud)
现在关注的是,如果"col1"先前为"x",那么我们将其更新为"x"将IF UPDATE ("col1")
触发返回True或不返回?
我正面临这个问题,因为我的保存查询对于所有列都是通用的,但是当我添加这个条件时它会返回True,即使它没有被更改...所以我担心在这种情况下该怎么做如果我想添加这样的条件?
Rem*_*anu 47
如果列已更新,则返回true.更新意味着查询已设置列的值.以前的值是否与新值相同在很大程度上是相关的.
UPDATE table SET col = col
Run Code Online (Sandbox Code Playgroud)
这是一个更新.
UPDATE table SET col = 99
Run Code Online (Sandbox Code Playgroud)
当col已经具有值99时,它也是更新.
Ray*_*Ray 10
在触发器中,您可以访问两个可能有用的内部表.'inserted'表包含每个受影响行的新版本.'deleted'表包含每行的原始版本.您可以比较这些表中的值,以查看您的字段值是否实际更改.
归档时间: |
|
查看次数: |
70235 次 |
最近记录: |