oracle的触发器,调用存储过程,非常简单的代码:
create or replace trigger...(后面省略了)
begin
   xxxxx(a,b);
end;
xxxxx就是调用的一个存储过程,为了验证已经正确调用该过程,我在过程里使用了dbms_output打印,的确可以正确接收参数,但里面的最简单的一个插入语句都不起作用.
create or replace procedure xxxxx(a Integer,b Integer) is 
   begin
          dbms_output.put_line(a||','||b);
          insert into aaa (ddd,fff) values(a,b);
          dbms_output.put_line('22222222222222222');
end;
具体表现就是,当触发器调用存储过程时,可以正确打印输出a,b两个参数,但不会打印222222222,证明没有执行完,而且表aaa中也不会有任何插入记录.
存储过程如果单独调用,比如:
begin
xxxxx(a=>111,b=>2222);
commit;
end;
就可以完全正常插入记录,但一旦用触发器调用,就没响应了。不知道到底这是什么原因造成的。有明白人给个思路么?明天早上来结帖子.