sql 触发器

USE [ng]
GO
/****** Object:  Trigger [dbo].[goodsdoctir]    Script Date: 12/31/2013 09:22:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER TRIGGER [dbo].[goodsdoctir]
   ON  [dbo].[GOODSDOC]
   for INSERT,DELETE,UPDATE
AS 
BEGIN
declare
@a int,
@b int,
@c int
set @a = 0
set @b = 0
set @c = 0
if exists(select 1 from inserted) and exists(select 1 from deleted)--修改
begin 
if exists(select 1 from ngst..GOODSDOC a join inserted b on a.GoodsId = b.goodsid) 
update ngst..GOODSDOC 
set ngst..GOODSDOC.GoodsCode = (select GoodsCode from inserted)
,ngst..GOODSDOC.GoodsName = (select GoodsName from inserted)
where ngst..GOODSDOC.GoodsId = (select GoodsId from inserted)
else 
insert into 
ngst..GOODSDOC(EntId,GoodsId,GoodsName,GoodsCode)
select EntId,GoodsId,GoodsName,GoodsCode from inserted 
--insert into 
-- ngst..GOODSATTR(EntId,GoodsId)
--select EntId,GoodsId from inserted 
end
else if exists(select * from inserted)--新增
begin 
insert into 
ngst..GOODSDOC(EntId,GoodsId,GoodsName,GoodsCode)
select EntId,GoodsId,GoodsName,GoodsCode from inserted 
--insert into 
-- ngst..GOODSATTR(EntId,GoodsId)
--select EntId,GoodsId from inserted 
end
else if exists(select * from deleted)--删除
begin 
delete from ngst..GOODSDOC 
where ngst..GOODSDOC.GoodsId = (select goodsid from deleted)
--delete from ngst..GOODSATTR
--where ngst..GOODSATTR.GoodsId = (select goodsid from deleted)
end
END
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值