oracle如何保证两个表 数据的同步
同一个数据库库中,表A(aidint,anamevarchar2(50)),表B(bidint,bamevarchar2(50),flagintdefalut0)表B为只...
同一个数据库库中,表A(aid int ,aname varchar2(50)),表B(bid int,bame varchar2(50),flag int defalut 0)
表B为只读表,当A表进行insert和update时,表B进行insert(update时表B可适当的增加字段)A表进行delete时,B进行update并且flag=1,用户只操作A表,B表不会进行任何DML(insert update delete)操作,(触发器/ 储存过程 / 函数 / Job)怎么写??? 展开
表B为只读表,当A表进行insert和update时,表B进行insert(update时表B可适当的增加字段)A表进行delete时,B进行update并且flag=1,用户只操作A表,B表不会进行任何DML(insert update delete)操作,(触发器/ 储存过程 / 函数 / Job)怎么写??? 展开
1个回答
展开全部
推荐你使用触发器
create or replace trigger 触发器名字 after insert or update or delete
on A for each row
declare
integrity_error exception;
begin
if inserting then
insert into b (:NEW.AID,:NWE.ANAME);
ELSEIF UPDATING THEN
UPDATE B SET B.FIAG = 1 WHERE :NEW.AID = B.BID;
END IF;
END;
-- 还有什么不懂的可以直接追问,这只是简单的写法
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询