Oracle APEX Trigger - Могу ли я повлиять на «Таблицу A» при выполнении триггера для вставки «Таблицы B»? - PullRequest
0 голосов
/ 07 октября 2011

ОК, ребята, вот моя проблема.Я пытаюсь создать триггер в Oracle APEX, который вставит 1-ую строку в таблицу «APEX_LOGS» со значениями по умолчанию, указанными ниже, когда я отправляю строку для таблицы «MAIN_APEX».Вот триггер, который я пытаюсь запустить:

CREATE OR REPLACE TRIGGER  "DEFAULT_LOG_ENTRY" AFTER insert on "MAIN_APEX" for each row 
 begin
  :new.APEX_LOGS.LOG_ENTRY:= 'This log page was established. Actions and communcations are captured from this date and time onward.';
  :new.APEX_LOGS.LOG_DATE:= sysdate();
  :new.APEX_LOGS.CIRCULATION:= 'External';
  :new.APEX_LOGS.MAIN_PK_REF:= &MAIN_APEX.MAIN_PK;
  :new.APEX_LOGS.TECHWRITER:= &MAIN_APEX.TECHWRITER;
 end;

Мысли?Эта тема невероятно плохо документирована.Даже раздел «Помощь» не дает представления о правильном форматировании.Спасибо, ребята.

1 Ответ

2 голосов
/ 08 октября 2011

Вы путаете понятия Apex и базы данных: триггеры являются частью базы данных, а не Apex.

Синтаксис для триггера будет:

CREATE OR REPLACE TRIGGER  "DEFAULT_LOG_ENTRY" AFTER insert on "MAIN_APEX"
for each row 
 begin
  insert into apex_logs (log_entry, log_date, circulation,
                         main_pk_ref, techwriter)
  values ('This log page was established. Actions and communcations are captured from this date and time onward.'
         , sysdate
         , 'External'
         , :new.main_pk
         , :new.TECHWRITER);
 end;
...