Trigger in PgAdmin4

di il
2 risposte

Trigger in PgAdmin4

Salve non mi funziona questo trigger secondo me perchè il prezzo è real ma io il controllo lo faccio con l'intero:

CREATE FUNCTION food.controllo_prezzo_ordine()
    RETURNS TRIGGER
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE NOT LEAKPROOF
AS $BODY$
BEGIN  
   IF (NEW.prezzo <= 0) THEN 
   RAISE EXCEPTION 'prezzo totale ordine non corretto.'; 
   END IF;
 END;
$BODY$;
 
ALTER FUNCTION food.controllo_prezzo_ordine()
    OWNER TO postgres;
 
CREATE TRIGGER "controllo_costoTotaleOrdine"
    BEFORE INSERT
    ON food.ordine
    FOR EACH ROW
    EXECUTE PROCEDURE food.controllo_prezzo_ordine();
 
Potete aiutarmi?

2 Risposte

  • Re: Trigger in PgAdmin4

    saraciao ha scritto:


    Salve non mi funziona questo trigger secondo me perchè il prezzo è real ma io il controllo lo faccio con l'intero:
    ed allora prova a fare il CAST di INT in REAL (o viceversa)
  • Re: Trigger in PgAdmin4

    sspintux ha scritto:


    saraciao ha scritto:


    Salve non mi funziona questo trigger secondo me perchè il prezzo è real ma io il controllo lo faccio con l'intero:
    ed allora prova a fare il CAST di INT in REAL (o viceversa)
    okay risolto cosi:
     
     CREATE FUNCTION food.controllo_prezzo_ordine()
        RETURNS TRIGGER
        LANGUAGE 'plpgsql'
        COST 100
        VOLATILE NOT LEAKPROOF
    AS $BODY$
    BEGIN  
       IF (NEW.prezzo <= 0) THEN 
         RAISE EXCEPTION 'prezzo totale ordine non corretto.'; 
      ELSE
         RETURN NEW;
       END IF;
     END;
    $BODY$;
     
    ALTER FUNCTION food.controllo_prezzo_ordine()
        OWNER TO postgres;
     
    CREATE TRIGGER "controllo_costoTotaleOrdine"
        BEFORE INSERT
        ON food.ordine
        FOR EACH ROW
        EXECUTE PROCEDURE food.controllo_prezzo_ordine();
      
    
     
     
     
Devi accedere o registrarti per scrivere nel forum
2 risposte