oracle 触发器调用函数问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 07:14:04
create or replace trigger aa
after insert on CA_ZJQXFDMS
for each row
declare
pragma autonomous_transaction;
begin
update cc a set a.xx=jj;
commit;
end;

结果是表cc里 的xx字段并没有更新
jj 是一个不用传参数返回一个字符串的函数。

哦 你的jj并不能这样调用 而且你的CC表内看有没有数据
如果没有的话是insert
建议你先确定CC表内有数据 然后update cc a set a.xx=(select jj from dual);

奔驰兄,好久不见 呵呵

1、自治事务【pragma autonomous_transaction】必须得用commit 或者 rollback。
2、而trigger中是不能使用 commit 和 rollback的。
3、因此把【pragma autonomous_transaction】和【commit】删掉。

---
以上,希望对你有所帮助。