Advertisement
Guest User

Untitled

a guest
Feb 27th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. TRIGGER UPD_ORSASTATO_ANAG1
  2. AFTER INSERT OR UPDATE OF INIZIOATTIVITA,FINEATTIVITA,EMAIL,FAX,TELEFONO,CODICEFISCALE,CODFISCPARTIVA,RAGIONESOCIALE,CODICECAMERALE,IDNAZIONALITA
  3. ON DITTE
  4. FOR EACH ROW
  5. DECLARE
  6. xIdAnagraficaSede NUMBER(22);
  7. xOrsaStato VARCHAR2(10);
  8.  
  9. BEGIN
  10.   IF (UPDATING AND  (NVL(:NEW.INIZIOATTIVITA,TO_DATE('01/01/1900', 'DD/MM/YYYY')) <> NVL(:OLD.INIZIOATTIVITA,TO_DATE('01/01/1900', 'DD/MM/YYYY'))
  11.       OR NVL(:NEW.FINEATTIVITA,TO_DATE('01/01/1900', 'DD/MM/YYYY')) <> NVL(:OLD.FINEATTIVITA,TO_DATE('01/01/1900', 'DD/MM/YYYY'))
  12.       OR NVL(:NEW.EMAIL,' ') <> NVL(:OLD.EMAIL,' ') OR NVL(:NEW.FAX,' ') <> NVL(:OLD.FAX,' ')
  13.       OR NVL(:NEW.TELEFONO,' ') <> NVL(:OLD.TELEFONO,' ') OR NVL(:NEW.CODICEFISCALE,' ') <> NVL(:OLD.CODICEFISCALE,' ')
  14.       OR NVL(:NEW.CODFISCPARTIVA,' ') <> NVL(:OLD.CODFISCPARTIVA,' ') OR NVL(:NEW.RAGIONESOCIALE,' ') <> NVL(:OLD.RAGIONESOCIALE,' ')
  15.       OR NVL(:NEW.CODICECAMERALE,' ') <> NVL(:OLD.CODICECAMERALE,' ') OR NVL(:NEW.IDNAZIONALITA,0) <> NVL(:OLD.IDNAZIONALITA,0))) OR INSERTING THEN
  16.           BEGIN
  17.             SELECT NVL(:NEW.Riferimento, NVL(A.Riferimento, A.idAnagrafiche)) INTO xIdAnagraficaSede FROM Anagrafiche A WHERE A.idAnagrafiche = :NEW.idAnagrafica;
  18.           EXCEPTION
  19.             WHEN NO_DATA_FOUND THEN xIdAnagraficaSede := 0;
  20.           END;
  21.      
  22.           xOrsaStato := '-1';
  23.           SELECT NVL(OrsaStato, '0') INTO xOrsaStato FROM Anagrafiche WHERE idAnagrafiche = xIdAnagraficaSede;
  24.           IF xOrsaStato = '1' THEN
  25.             UPDATE Anagrafiche SET OrsaStato = '2' WHERE idAnagrafiche = xIdAnagraficaSede;
  26.           END IF;
  27.   END IF;
  28. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement