34,590
社区成员
发帖
与我相关
我的任务
分享
CREATE TRIGGER [amt_total] ON dbo.d_stock
FOR UPDATE
AS
if(exists(select d_sto_qty,d_up from inserted where isnull(d_sto_qty,0)>0 and isnull(d_up,0)>0))
update d_stock set
d_sto_amt=round(d_sto_qty*d_up,4)
CREATE TRIGGER [amt_total] ON dbo.d_stock
FOR INSERT, UPDATE
AS
UPDATE T1
SET d_sto_amt=round(T1.d_sto_qty*T1.d_up,4)
FROM d_stock T1
JOIN INSERTED T2 ON T1.d_id=T2.d_id
WHERE T2.d_sto_qty>=0 AND T2.d_up>=0
GO
CREATE TRIGGER [amt_total] ON dbo.d_stock
FOR UPDATE
AS
UPDATE T1
SET d_sto_amt=round(T1.d_sto_qty*T1.d_up,4)
FROM d_stock T1
JOIN INSERTED T2 ON T1.d_id=T2.d_id
WHERE T2.d_sto_qty>0 AND T2.d_up>0
GO
-- 这个肯定是有其他的TR ,你不用查你现在这个TR 的代码,FOR UPDATE 不可能去触发 insert 事件。
-- 试试这个。
select* from sysobjects
where xtype = 'TR'
and parent_obj = object_id('d_stock')