当表新增时oracle触发器,[oracle数据库表同步更新数据]oracle 触发器,当一个表更新或插入时将数据同步至另个库中的某个表中...

bc3f9276acf88283a0569b9b9ef9ee92.png

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

用户A下的T_SRC_WEATHER_TSPG字段有两个表,如图所示,

75e468b3061ec7c1d1db89a3e3c6bdcf.png

用户B表下的t_src_weather,如下所示:

266468068b1aef94aadb75eb0e65b0aa.png

要求在T_SRC_WEATHER_TSPG表中在用户A具有插入或更新数据的情况下,该数据为同时同步到用户B下的t_src_weather表,

创建触发器,SQL语句如下:

?创建或替换触发器weather_history_update -weather_history_update是触发器名称 更新或插入后是吗?Yjzhaccess.T_SRC_WEATHER_TSPG??-AFTER指定触发时间,后跟表名,即更新或插入表Yjzhaccess.T_SRC_WEATHER_TSPG时的触发时间 每行吗??-每行 开始吗?插入yjzhhistory.t_src_weather (ID,SSXQMC,SSXQDM,HISTIME和WEATHER)-指定插入的表格和字段 ?VALUES(:new.ID ,: new.MC ,: new.ID ,: new.gxsj,:: new.type); -将新插入的数据引入到表中 ?end;

?在执行.T_SRC_WEATHER_TSPG后插入Yjzhaccess?值(23,”二十三个团队”,66.66、16.66,”雪”,66,sysdate)异常,报告ora-04098:触发器无效并且无法执行通过重新验证编译错误:

3e984c9c6589be27ebbea3d0d482aa20.png

如果发现错误是未经许可的,请登录dba用户,并将用户B下的表的插入权限分配给用户A sql,如下所示:在yjzhhistory.t_src_weather上授予插入权限p>

授予权限后,执行测试更新语句,成功,此时触发执行触发事件,两个表对应的数据

示例:在ON REQ_PROC上更新后创建或替换触发器InsertAISyn

FOR EACH ROW

DECLARE

OLDSTATUS VARCHAR2(64);

NEWSTATUS VARCHAR2(64) ;

STUDYUID?VARCHAR2(64);

STUDYID?VARCHAR2(64);

PATIENTID?VARCHAR2(64);

模态?VARCHAR2(64);

StudyDesc VARCH AR2(64);

开始

NEWSTATUS:=:new.STATUS;

OLDSTATUS:=:old.STATUS;

STUDYUID:=:new.STUDY_INS_UID;

/>模态:=:new.MODALITY;

StudyID:=:new.REQ_PROC_ID;

StudyDesc:=:new.PARTOFCHECK;

IF NEWSTATUS =”选中”与OLDSTATUS LT; \ gt; NEWSTATUS,然后

开始

删除hhpacs.synaistaus,其中StudyUID = STUDYUID; 如果是(模态=” CT”),则

BEGIN

插入hhpacs.SynAIStaus(STUDYUID,StudyID,PATIENTID,Modality,StudyDesc,SynStatus)

值(STUDYUID,StudyID,PATIENTID,Modality,StudyDesc,0);

END;

如果结束;

END;

如果结束;

END;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值