ES10_MobileAuthor双向同步触发器分享

5230
17

韦韬然 数据老手Lv5

发表于2018-12-14 16:35

楼主
grant select,update,delete,insert on bi.ES10_MobileAuthor to bi2;

grant select,update,delete,insert on bi2.ES10_MobileAuthor to bi;
--创建包头
create or replace package pk_check_active is
  --标识是否为触发器引发
  n number :=0;
  --获取是否为触发器触发标识,1为触发器触发
  function getactive return number;
  --设置状态
  procedure setactive(n1 in number);
end pk_check_active;

create or replace package body pk_check_active is
  function getactive return number is
  begin
    return n;
  end getactive;
  procedure setactive(n1 in number) is
  begin
    n := n1;
  end setactive;
end pk_check_active;



---bi1触发器
create or replace trigger tres10_mobileauthor after insert or update or delete
on es10_mobileauthor for each row
begin
   if pk_check_active.getactive() =1 then
     pk_check_active.setactive(2);  return;
    else
     pk_check_active.setactive(1);
   end if;
if inserting then
  insert into bi2.ES10_MobileAuthor(UUID_, UNAME_, REGISTERTIME_, ISAGREE_, DESC_, ISJY_) values (:new.UUID_, :new.UNAME_, :new.REGISTERTIME_, :new.ISAGREE_, :new.DESC_, :new.ISJY_);
elsif updating and :new.ISAGREE_ <> ld.ISAGREE_ then         
  update bi2.ES10_MobileAuthor set  ISAGREE_ = :new.ISAGREE_ where UUID_ = :new.UUID_;
elsif updating and :new.ISJY_ <> ld.ISJY_ then
  update bi2.ES10_MobileAuthor set  ISJY_ = :new.ISJY_ where UUID_ = :new.UUID_;
elsif deleting then
  delete from bi2.ES10_MobileAuthor where UUID_ = ld.UUID_;
end if;
    pk_check_active.setactive(0);
end;

--将包授权
grant execute on PK_CHECK_ACTIVE to bi2;

--bi2中建立包同义词
create synonym PK_CHECK_ACTIVE for bi.PK_CHECK_ACTIVE;



--bi2触发器
create or replace trigger tres10_mobileauthor after insert or update or delete
on es10_mobileauthor for each row
begin
   if pk_check_active.getactive() =1 then
     pk_check_active.setactive(2);  return;
    else
     pk_check_active.setactive(1);
   end if;
if inserting then
  insert into bi.ES10_MobileAuthor(UUID_, UNAME_, REGISTERTIME_, ISAGREE_, DESC_, ISJY_) values (:new.UUID_, :new.UNAME_, :new.REGISTERTIME_, :new.ISAGREE_, :new.DESC_, :new.ISJY_);
elsif updating and :new.ISAGREE_ <> ld.ISAGREE_ then         
  update bi.ES10_MobileAuthor set  ISAGREE_ = :new.ISAGREE_ where UUIeD_ = :new.UUID_;
elsif updating and :new.ISJY_ <> ld.ISJY_ then
  update bi.ES10_MobileAuthor set  ISJY_ = :new.ISJY_ where UUID_ = :new.UUID_;
elsif deleting then
  delete from bi.ES10_MobileAuthor where UUID_ = ld.UUID_;
end if;
    pk_check_active.setactive(0);
end;


最近看过此主题的会员

yiyiyiyiy

coll

李小钗

吃炒饭的王小明i

风荷

杨思怡

ch023011

Developer

陈小作

进阶的小木桩

liu1997

缱绻

哎哟喂

zhaosc

admin

辰哥

社区小辣妹

17个回答

只看楼主

韦韬然 数据老手Lv5

发表于2018-12-16 17:43

只看该作者

取消 关注该作者的回复

12#

{:3_56:}

韦韬然 数据老手Lv5

发表于2018-12-16 17:44

只看该作者

取消 关注该作者的回复

13#

{:3_64:}

韦韬然 数据老手Lv5

发表于2018-12-16 17:44

只看该作者

取消 关注该作者的回复

14#

{:3_58:}

韦韬然 数据老手Lv5

发表于2018-12-16 17:44

只看该作者

取消 关注该作者的回复

15#

韦韬然 数据老手Lv5

发表于2018-12-16 19:34

只看该作者

取消 关注该作者的回复

16#

vip 小试身手Lv3

发表于2018-12-16 20:09

只看该作者

取消 关注该作者的回复

17#

赞一个

韦韬然 数据老手Lv5

发表于2018-12-17 12:39

只看该作者

取消 关注该作者的回复

18#


上一页12下一页共2页

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号