Eri*_*zke 1 sql t-sql sql-server triggers
鉴于此简单示例触发器:
CREATE TRIGGER example_update
ON example_table
FOR UPDATE
AS BEGIN
if update(someColumn) begin
update example_table SET last_update_date = GETDATE() WHERE id IN (SELECT id FROM inserted);
end
END
Run Code Online (Sandbox Code Playgroud)
如果someColumn的旧值和someColumn的新值相等,update(someColumn)是返回true还是false?例如,如果我运行这两个SQL语句:
UPDATE example_table SET someColumn=1;
UPDATE example_table SET someColumn=1;
Run Code Online (Sandbox Code Playgroud)
第二个语句是否触发了触发器中的if块?
另外,如果我执行此操作,我的推定是正确的:
UPDATE example_table SET otherColumn=1;
Run Code Online (Sandbox Code Playgroud)
然后在我的触发器中更新(someColumn)将返回false.
我很抱歉,如果这是一个重复:该函数被称为更新的事实已经使我的搜索结果充满了更新状态(与更新函数非常不同),并且使我很难确定这种行为.
| 归档时间: |
|
| 查看次数: |
4483 次 |
| 最近记录: |