这个触发器该怎么写?

来源:百度知道 编辑:UC知道 时间:2024/06/18 04:40:52
我在做销售系统.库存表(kc)中有单价(kc_dj),销售表(sell)中售价(sell_dj)和利润(money)...请问我应该怎样让利润默认为售价-单价..
是应该弄一个触发器吗?应该怎么写??
各位高手教教我

alter trigger update_insert_trigger
on kc
for update,insert
as
--如果更新了售价或单价
--(也可以用inserted或deleted做条件,单条跟新数据)
if(update(sell_dj) or update(kc_dj))
begin
--更新所有利润
update kc set money=sell_dj-kc_dj
end
--如果新插入记录存在
if(select id from inserted)>0
begin
--更新新纪录的利润
update kc set money=sell_dj-kc_dj where id=(select id from inserted)
end
go

应该建个触发器,如果只想是默认值的话,建一个insert触发器,不能建update触发器,防止人为修改数据时候修改不了:

create trigger kc_insert_trigger on kc for insert
as
update kc set money = sell_dj - sell
where 主键 in ( select 主键 from inserted);

---
以上,希望对你有所帮助。