Триггер Oracle, созданный с использованием JDBC, не срабатывает

Я создал триггеры JDBC, которые не срабатывают. Я проверил его действительность в таблице user_objects, и он действителен и включен. Я попытался создать триггер с помощью консоли sqlplus, и он успешно сработал, так что где я мог ошибиться? Есть идеи?

вот мой триггер:

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) и executeUpdate(query) функции Statement, а также пробовал PreparedStatement, но пока безуспешно.


person Rishabh Kumar    schedule 11.05.2013    source источник
comment
Вы создали триггер с помощью execute и executeQuery или update после создания триггера? Вы зафиксировали обновление - можете ли вы увидеть обновленные значения (и проверяете ли вы в другом сеансе)?   -  person Alex Poole    schedule 12.05.2013
comment
Как именно выглядит содержимое переменной query? Пожалуйста, покажите нам полный код. Вы также можете запросить представление all_errors, чтобы проверить, нет ли синтаксической ошибки в SQL, который вы запускаете через JDBC.   -  person a_horse_with_no_name    schedule 12.05.2013
comment
вы не можете создать триггер с помощью executeQuery(), да, я сделал фиксацию и могу видеть обновленные значения... проблема в JDBC, события запускаются, когда я создаю триггеры в приглашении sqlplus, и я проверил действительность триггера в представление user_objects, и оно действительно   -  person Rishabh Kumar    schedule 12.05.2013
comment
Определенно возможно создать триггер через JDBC (иначе инструменты JDBC, такие как SQL Developer, были бы даже невозможны), поэтому должно быть что-то не так с вашим кодом Java, который вы до сих пор нам не показали.   -  person a_horse_with_no_name    schedule 12.05.2013
comment
спасибо за ваше время. Я все еще учусь. Я понял, что таблица журнала имеет числовой тип данных, который несовместим со строкой...   -  person Rishabh Kumar    schedule 12.05.2013


Ответы (1)


Вы не рассматривали нулевые значения в своем коде - я думаю, стоит изучить.

person David Aldridge    schedule 12.05.2013