Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [ORACLE PL/SQL] - Trigger Confronto Date

    -- TRIGGER

    -- TRIGGER 3 CiclomotoreOccupato

    CREATE OR REPLACE TRIGGER AuditingInserimentoAssistenz
    BEFORE INSERT OR UPDATE OF TARGA ON ASSISTENZA
    FOR EACH ROW

    DECLARE
    dispCiclom DATE;
    eccezioneCiclom EXCEPTION;

    BEGIN

    SELECT DISPONIBILITA INTO dispCiclom FROM CICLOMOTORE;
    IF dispCiclom>:NEW.INIZIO_ASS THEN
    RAISE eccezioneCiclom;
    END IF;

    EXCEPTION
    WHEN eccezioneCiclom THEN
    RAISE_APPLICATION_ERROR(-20022,'---- ERRORE!! CICLOMOTORE AL MOMENTO E'' IMPEGNATO, SCEGLIERE ALTRO CICLOMOTORE ----');
    END;
    /


    PROBLEMA: IL TRIGGER VIENE COMPILATO SENZA ERRORI, PERO' NON FUNZIONA!
    IL CONTROLLO SULLE DATE NON AVVIENE MAI, E L'INSERIMENTO QUINDI C'E' SEMPRE.
    L'INSERIMENTO DOVREBBE ESSERE VIETATO SE LA DISPONIBILITA' DEL MEZZO E' POSTERIORE ALLA DATA DI INIZIO DI UNA NUOVA ASSISENZA INSERITA. INVECE IL RISULTATO E' CHE NON VIENE VIETATO PER DISPONIBILITA'.CICLOMOTORE > INIZIO_ASS.ASSISTENZA E NON GENERA NEANCHE L'ERRORE.
    SBAGLIO NEL CONFRONTO DELLE DATE? O IN COSA?

  2. #2
    non riesco a postare le tabelle! html.it mi da errore

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    21
    ciao.. ti do' un consiglio.. prova a fare un test da sql plus o da toad (se ce l'hai).. cioè.. crea il trigger, dopodichè prova a fare un inserimento tramite insert e vedere se te lo genera..

    quello che mi viene in mente è che l'errore sia insabbiato con un'eccezione del tipo "when others"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.