User Tools

Site Tools


kurs:teilnehmer_journal_trigger

teilnehmer kurs dezember 2016

create or replace 
trigger TRG_TEILNEHMER_JN 
AFTER INSERT OR DELETE OR UPDATE ON TEILNEHMER 
FOR EACH ROW 
declare
v_dml varchar2(10);
v_now date := sysdate;
BEGIN
  if inserting then 
    v_dml := 'I';
  elsif updating then
    v_dml := 'U';
  else 
    v_dml := 'D';
  end if;
  
  update teilnehmer_jn set 
    tjn_valid_to = v_now
  where tjn_id = (select max(tjn_id) from  
    teilnehmer_jn where tjn_tln_id = :old.tln_id;
  
  insert into teilnehmer_jn (
    tjn_id,
    tjn_tln_id,
    tjn_tln_name,
    tjn_tln_height,
    tjn_tln_gen_name,
    tjn_dml,
    tjn_create_date,
    tjn_update_date,
    tjn_valid_from
   ) values (
    seq.nextval,
    coalesce(:new.tln_id, :old.tln_id),
    coalesce(:new.tln_name, :old.tln_name),
    coalesce(:new.tln_height, :old.tln_height),
   (select gen_name from gender where gen_id = 
           coalesce(:new.tln_gen_id, :old.tln_gen_id)),  
    v_dml,
    coalesce(:old.tln_create_date, sysdate),
    sysdate,
    v_now
    );      
    
END;
kurs/teilnehmer_journal_trigger.txt · Last modified: 2016/12/21 09:26 by admin