有两个表,一个主表 fatherTable,一个子表 sonTable.
在主表建立insert触发器 ,触发器的任务是将主表的这条新插入数据 和 对应的子表数据 插入到另外的两个表(ex_fatherTable,ex_sonTable)。
但触发器里第一个insert语句没有执行。代码如下:
--触发器
create trigger tri_fatherTable_insert
after insert on fatherTable
for each row
declare
PRAGMA AUTONOMOUS_TRANSACTION;
begin
insert into ex_sonTable (sID,fID,sValue) select sID,fID,sValue from sonTable where fID = :new.fID;
insert into ex_fatherTable(fID,fValue) values (:new.fID,:new.fValue);
commit;
end tri_fatherTable_insert执行下面的sql语句
insert into sonTable(sID,fID,sValue) values ('s1','f1','svalue1'); --向子表插入数据
insert into fatherTable(fID,fValue) values ('f1','fvalue1'); ---向主表插入数据但最终结果只是ex_fatherTable有数据,而 ex_sonTable却没有数据,请问这是怎么回事?
在主表建立insert触发器 ,触发器的任务是将主表的这条新插入数据 和 对应的子表数据 插入到另外的两个表(ex_fatherTable,ex_sonTable)。
但触发器里第一个insert语句没有执行。代码如下:
--触发器
create trigger tri_fatherTable_insert
after insert on fatherTable
for each row
declare
PRAGMA AUTONOMOUS_TRANSACTION;
begin
insert into ex_sonTable (sID,fID,sValue) select sID,fID,sValue from sonTable where fID = :new.fID;
insert into ex_fatherTable(fID,fValue) values (:new.fID,:new.fValue);
commit;
end tri_fatherTable_insert执行下面的sql语句
insert into sonTable(sID,fID,sValue) values ('s1','f1','svalue1'); --向子表插入数据
insert into fatherTable(fID,fValue) values ('f1','fvalue1'); ---向主表插入数据但最终结果只是ex_fatherTable有数据,而 ex_sonTable却没有数据,请问这是怎么回事?
解决方案 »
- 请大家看看这个问题:怎么在SCOTT下,建不成表呢?出现以下错误!
- 几个应用服务器都指向这个Oracle数据库服务器有没有问题呢?
- 专家级问题! Oracle中有没有象SQLSERVER那样的聚集索引?
- 关于触发器的问题 急!急!急!急!急!
- oracle合并行?
- 无法访问系统表tab如何解决??
- 要做个在线考试系统,关于数据库结构的设置,请教一下大家
- 请问关于输出包的介绍,up有分
- (高分100)在oracle817中怎样建立一主键字段,它是自增长的,能否给个具体建表的实例!!
- [求助]安装oracle8i补丁(glibc-2.1.3-stubs.tar.gz)的一个问题(redhat8.0)
- 求一个简单触发器
- 如何把Union后的数据加起来
你加EXCEPTION捕捉下,看是否出现了异常?