Триггер PostgreSQL для Oracle PL / SQL - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь написать триггер PostgreSQL в Oracle, и я застрял с синтаксисом.Вот триггер:

CREATE OR REPLACE FUNCTION trg_directori_ins_before_row()
     RETURNS TRIGGER AS $trg_directori_ins_before_row$

BEGIN

   UPDATE directori_teatru SET dataincetarefunctie=NEW.datanumirefunctie-1  WHERE idteatru=NEW.idteatru AND dataincetarefunctie is NULL;     RETURN NEW;


  END;   $trg_directori_ins_before_row$ LANGUAGE plpgsql;

  CREATE TRIGGER trg_directori_ins_before_row   BEFORE INSERT ON directori_teatru    FOR EACH ROW EXECUTE PROCEDURE trg_directori_ins_before_row();

Может кто-нибудь, пожалуйста, помогите мне написать это в Oracle?Большое спасибо!

Позднее редактирование:

Есть театр с менеджером, и этот триггер предназначен для установки нового менеджера для этого театра.

CREATE OR REPLACE FUNCTION trg_managers_ins_before_row()
     RETURNS TRIGGER AS $trg_managers_ins_before_row$

BEGIN

   UPDATE managers_theatre SET endjobdate=NEW.startdatejob-1
 WHERE idtheatre=NEW.idtheatre AND endjobdate is NULL; 
   RETURN NEW; 

  END;
  $trg_managers_ins_before_row$ LANGUAGE plpgsql;

  CREATE TRIGGER trg_managers_ins_before_row
  BEFORE INSERT ON managers_theatre 
  FOR EACH ROW EXECUTE PROCEDURE trg_managers_ins_before_row();
...