永发信息网

oracle触发器跨用户问题

答案:2  悬赏:20  手机版
解决时间 2021-03-21 17:38
AB两个user,都有用户表,A用户下的表中插入一条数据触发向B用户的一个表中也执行一条插入语句,怎么写这个触发器,详细点,先谢谢啦
最佳答案
create trigger ins_trig --ins_trig为触发器的名字
after insert on a.table1 --table1为用户表
for each row
begin
insert into b.table1 values(:new.f1,:new.f2,:new.f3,:new.f4,:new.f5);

end;
/

ps:该触发器是在a 用户模式下创建的,a用户必须具有insert any table的权限。
全部回答
if :old.gradeid not in (select grade.gradeid from grade) 这个意思上看得懂 但是语法上不知道有没有问题 建议定义个变量 int 类型的 declare v_rowcount int; -- 然后查询 select count(*) into v_rowcount from grade where grade.gradeid != :old.gradeid -- 然后判断 if v_rowcount = 0 ... 还有另外一个问题。 after insert on class for each row 的触发器, 不能在触发器里面。 查询/更新/删除 自己这张表。 因此 delete from class where gradeid=:old.gradeid; 将出错。 可以尝试修改为, 抛出异常的方式,拒绝当前行的插入操作。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
女孩取名诗词,女性取名来自古诗词
单选题人从高处跳到较硬的水平地面时,为了安
凉山州疾病预防控制中心皮肤病性病专科门诊我
买房为啥大房子跟小房子价格不同
.皮尔卡丹和七匹狼牛仔裤哪个好
宋建根经理是个善解人意的好人。新员工没有上
苹果6s plus怎么设置白球
农历有没有闰10月14日,从2018开始
6岁孩子得了传染性单核细胞增多症后多久可以
According to an English newspaper, scienti
布吉附近有什么好吃的,西安 小寨附近有什么好
石城迎客地址在什么地方,想过去办事
厨房烘焙秤什么牌子好,烘培模具哪个品牌好?
求教:关于移动类型的更新控制??
单选题“海阔凭鱼跃,天高任鸟飞”,鸟和鱼体
推荐资讯
成长磨难的名言警句,在痛苦中成长事例(不要
给员工发放福利工资什么渠道才不违规
有没有适合比亚迪速锐的10.2寸的大屏导航
为什么,我跟男朋友分手了,男朋友会说不甘心
上诲1867银币一两求鉴定
民让农机修理在什么地方啊,我要过去处理事情
晚上睡不着的时候是因为有人在想我吗
陌陌怎么发广告
阅读下列材料, 从所给的六个选项(A、B、C、
酵母粉相对于酵母浸粉有什么区别?
微信诈骗怎么报警
打赌输了怎么反悔
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?