【发布时间】:2014-10-23 08:48:50
【问题描述】:
使用我在下面显示的触发器会将产品的price 更新为折扣。但我希望在以后的插入中,不能更新已应用折扣的记录。
我可以添加什么?
create Trigger tri on t1
after insert As
UPDATE t1
SET price = CASE
WHEN column1 = 'Rebate' THEN price * 0.5
ELSE price
END
【问题讨论】:
-
如果是
AFTER INSERT而不是AFTER UPDATE,那唱片不就是新的吗? -
@TimSchmelter 我已将
after insert更改为after update,并且触发器继续更新所有行。 -
@user_012314112 您可以在第一次插入后停止触发器。
disable trigger tri on t1 -
也许添加一个默认为 0 的位列,当更新设置为 1 并且在触发器上只更新位 = 0 的行。但我猜你应该在插入时进行计算
标签: sql-server triggers sql-update