双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

帮忙看一下这个触发器,谢谢

onlygirl2006 onlygirl2006 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在sql server里是正确的,即插入或更新表TTG_Account时,也要对TTG_Customer 进行更新,改称oracle触发器后,更新TTG_Account时更新了TTG_Customer,这是正确的,但是插入TTG_Account时,并没有插入TTG_Customer

这个触发器怎么调试阿?

Create Trigger TRG_TTG_Account_Insert_Customer
ON TTG_Account
After Insert,Update
As
Declare @CustomerNoNew varchar(6),@CustomerNoOld varchar(6)

If Update (AccountID)
Begin
select @CustomerNoOld=AccountID from deleted
select @CustomerNoNew=AccountID from inserted

If Not Exists (select CustomerID from TTG_Customer where CustomerNO=@CustomerNoOld)
Begin
Insert into TTG_Customer (CustomerNO) Values (@CustomerNoNew)
End
Else
Begin
Update TTG_Customer Set CustomerNO=@CustomerNoNew where CustomerNO=@CustomerNoOld

End

End

-------------------------------------------------------------------
一下是oracle触发器

Create Or Replace Trigger TR_TTG_Account_Insert_Customer
After Insert or Update
ON TTG_Account
FOR EACH ROW
Declare
v_CustomerNoNew varchar2(6);
v_CustomerNoOld varchar2(6);
v_CustomerID number(10,0);

Begin

v_CustomerNoOld:=:OLD.AccountID;
v_CustomerNoNew:=:NEW.AccountID;
IF (v_CustomerNoOld<>v_CustomerNoNEW) THEN
select CustomerID into v_CustomerID from TTG_Customer where CustomerNO=:OLD.AccountID;
IF v_CustomerID is null THEN
Insert into TTG_Customer (CustomerNO) Values (:NEW.AccountID);
ELSE
UPDATE TTG_Customer Set CustomerNO=:NEW.AccountID where CustomerNO=:OLD.AccountID;
END IF;
END IF;
End TR_TTG_Account_Insert_Customer;
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
onlygirl2006
基础和管理 17,379 成员 95,111 内容