免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1292 | 回复: 4
打印 上一主题 下一主题

触发器不运行问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-04-20 14:53 |只看该作者 |倒序浏览
两个oracle9.0.1数据库A,B做测试
两库都有相同用户TEST和表C,表中的初始数据相同
在a库的C表上建立触发器,当C表做插入或者更新时将新插入的数据通过DATABASE LINK插入到B库中的C表中,触发器经过编译未报错,而且是VALID
ENABLED状态,但是当象A库的C表中插入数据并提交,发现并未将数据插入到B库中的C表。
C 表结构如下:
NAME  VARCHAR2(10)
SEX     VARCHAR2(1)
BIRTHDAY VARCHAR2(

触发器如下:
CREATE OR REPLACE TRIGGER TRE_TEST
AFTER INSERT OR UPDATE
ON  TEST.C
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
  UPDATE C_SYN SET  NAME=:NEW.NAME,SEX=:NEW.SEX,BIRTHDAY=:NEW.BIRTHDAY WHERE NAME=:NEW.NAME;
END;
(注:C_SYN为B库C表数据库连接的同义词)
请大虾帮忙解决一下问题,多谢了

论坛徽章:
0
2 [报告]
发表于 2005-04-20 16:04 |只看该作者

触发器不运行问题

触发器内没有判断是否存在,存在update,不存在insert?

论坛徽章:
0
3 [报告]
发表于 2005-04-20 16:05 |只看该作者

触发器不运行问题

不能这样用吧!直接用数据链试试

论坛徽章:
0
4 [报告]
发表于 2005-04-20 17:00 |只看该作者

触发器不运行问题

这个触发器在8i下就可以运行,可以更新B库的C表。
两个库都是9I就不行,怎么回事呢?

论坛徽章:
0
5 [报告]
发表于 2005-04-20 20:56 |只看该作者

触发器不运行问题

你如何知道系统没有运行啊.
select trigger_name,status from user_triggers where trigger_name = ?;

看看对应的状态..

可以再在你的trigger中添加一行日志功能的语句, 比如插入log表, 我们再检查log表, 看触发器是否正常运行^_^
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP