[高分]主从表间的触发器如何写? 主表M(ID,VC,VN), 从表D(ID,P,P1), 关联字段ID现从表D中有一个价格字段P需要触发器进行这样的计算1. 主表M中字段VC为'01'时,才进行触发计算;2. 从表D字段P=字段P1*1.05;3. 从表D的更新,只针对单行记录。该如何写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 --trycreate trigger tr on Mfor insert, updateasupdate D set P=P1*1.05from inserted as Awhere A.VC='0.1' and D.ID=A.ID create trigger trg_M on Minstead of insert,updateasbegin update D set P=P1/1.05 from deleted t where t.ID=D.ID and t.VC='01' update D set P=P1*1.05 from inserted t where t.ID=D.ID and t.VC='01'endgo 引自楼主:1. 主表M中字段VC为'01'时,才进行触发计算; --trycreate trigger tr on Dfor updateasif update(P1)update D set D.P=D.P1*1.05from inserted as A, Mwhere M.VC='0.1' and M.ID=D.ID and D.ID=A.ID 存储过程运行中根据if判断,如何中途中止返回一个值吗? 【T-MAC学习笔记6之--排名函数和缺失 已有范围】 很简单的一句sql什么意思 在线急等,日期函数的解决! 请问这语句还可以优化吗? 谢谢,是一个分页的. 关于时间类型的简单问题 sqlserver将字符串转换为时间类型 多条件查询问题 对数据库长时间的操作,有可能连接中断吗? 简单问题 問個問題 T-SQL语言 高分
for insert, update
as
update D set P=P1*1.05
from inserted as A
where A.VC='0.1' and D.ID=A.ID
instead of insert,update
as
begin
update D set P=P1/1.05 from deleted t where t.ID=D.ID and t.VC='01'
update D set P=P1*1.05 from inserted t where t.ID=D.ID and t.VC='01'
end
go
1. 主表M中字段VC为'01'时,才进行触发计算;
for update
as
if update(P1)
update D set D.P=D.P1*1.05
from inserted as A, M
where M.VC='0.1' and M.ID=D.ID and D.ID=A.ID