Files
zentral/docs/triggers/EVENTI_DET_OSPITI_TRG_AI.md
2025-11-28 10:59:10 +01:00

1.8 KiB

EVENTI_DET_OSPITI_TRG_AI

Informazioni

  • Tabella: EVENTI_DET_OSPITI
  • Evento: UPDATE
  • Tipo: AFTER EACH ROW
  • Stato: ENABLED

Codice Sorgente

TRIGGER "APOLLINARECATERINGPROD"."EVENTI_DET_OSPITI_TRG_AI" 
--AFTER INSERT OR UPDATE OR DELETE ON EVENTI_DET_OSPITI 
AFTER UPDATE ON EVENTI_DET_OSPITI 
FOR EACH ROW 

-- solo update, tutti i tipi ospiti vengono inseriti con l'inserimento della testata dell'evento con QTA def = 0

declare

v_cod_art       varchar2(10);
v_coeff         number;
v_ospiti        number;
v_azione        varchar2(10);
v_id_evento     number;
v_count         number;

BEGIN

    v_azione    := '';
    v_id_evento := nvl(:NEW.ID_EVENTO,:OLD.ID_EVENTO);

    --RAISE_APPLICATION_ERROR(-20001,'ididididididid: ' + to_char('hhhhhhhhhhh') );

    if DELETING THEN
        --RAISE_APPLICATION_ERROR(-20000, ':NEW.NUMERO' || :NEW.NUMERO || ':OLD.NUMERO' || :OLD.NUMERO);  
        v_azione    := 'DELETE';
        v_id_evento := :OLD.ID_EVENTO;
    elsif INSERTING THEN
        v_azione    := 'INSERT';
        v_id_evento := :NEW.ID_EVENTO;        
    END IF;
--/*
    --Controllo esistenza id testata (caso default righe dett)
--    v_count := 0;
--    select count(*) into v_count 
--      from eventi where id = :NEW.ID_EVENTO;

--    if v_count > 0 then

    --RAISE_APPLICATION_ERROR(-20000,'id: ' + to_char(v_id_evento) +  ' :NEW.NUMERO' || to_char(:NEW.NUMERO) || ' :OLD.NUMERO' || to_char(:OLD.NUMERO) + '  azione: ' + v_azione);
      --Calcola la qta tot ospiti di Testata:
    --EVENTI_AGGIORNA_N_OSPITI(v_id_evento,:NEW.NUMERO,:OLD.NUMERO,v_azione);  

--    end if;
--*/    
    exception when others
        then
            RAISE_APPLICATION_ERROR(-20000, 'Errore: ' || SQLCODE || ' - ' || SUBSTR(SQLERRM, 1 , 64));            

END;