Почему триггер базы данных будет недействительным в оракуле БД? - PullRequest
0 голосов
/ 16 апреля 2009

Я создал триггер вручную (вставив SQL из другой базы данных Oracle в консоль управления), который автоматически увеличивает первичный ключ таблицы, и когда я смотрю на триггер в браузере объектов, триггер отображается как недействительный .

Почему это так?

Вот SQL, который воссоздает триггер:

CREATE OR REPLACE TRIGGER  "BI_AGENTEVENTDATA" 
  before insert on "AGENTEVENTDATA"               
  for each row  
begin   
    select "AGENTEVENTDATA_SEQ".nextval into :NEW.ID from dual; 
end; ;
/
ALTER TRIGGER  "BI_AGENTEVENTDATA" ENABLE
/

Ответы [ 2 ]

2 голосов
/ 16 апреля 2009

Вы уверены, что последовательность существует и может использоваться триггером?

Попробуйте это:

select sequence_name from user_sequences;
0 голосов
/ 16 апреля 2009

Попробуйте триггер без ". Другими словами:

CREATE OR REPLACE TRIGGER  "BI_AGENTEVENTDATA" 
  before insert on "AGENTEVENTDATA"               
  for each row  
begin   
    select AGENTEVENTDATA_SEQ.nextval into :NEW.ID from dual; 
end; ;
/
ALTER TRIGGER  "BI_AGENTEVENTDATA" ENABLE
/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...