0
我已通过JDBC创建了触发器,该触发器不会触发。我已经检查了它在user_objects表中的有效性以及它的有效和启用。我试图使用sqlplus控制台创建触发器,并成功解雇,所以我可能会出错?任何想法?使用JDBC创建的Oracle触发器不会触发
这里是我的触发器:
create or replace trigger t2
after update of FIRST_NAME on QWERTY
referencing new as newv old as oldv
for each row
begin
if :oldv.FIRST_NAME != :newv.FIRST_NAME then
insert into log values(user,sysdate,'QWERTY','FIRST_NAME',:oldv.FIRST_NAME,:newv.FIRST_NAME);
end if;
end;
我都试过execute(query
)和Statement
executeUpdate(query)
功能,并试图PreparedStatement
太多,但还没有运气。
你在创建触发器后用'execute'和'executeQuery'或者'update'创建了触发器?你有没有提交更新 - 你能看到更新后的值(并且你正在检查另一个会话)吗? – 2013-05-11 21:14:23
“查询”变量的内容究竟如何?请向我们展示完整的代码。您还可以查询'all_errors'视图来检查您是否可能在通过JDBC运行的SQL中出现语法错误。 – 2013-05-11 22:58:12
你不能创建触发器与executeQuery(),是的,我没有提交,并可以看到更新值...问题是与JDBC,事件触发时,我在sqlplus提示中创建触发器,我已检查触发器的有效性user_objects视图,并且它是有效的 – 2013-05-12 08:27:20