Salve a tutti io ho un problema con un trigger:
In pratica questo trigger deve gestire la medesima situazione:
 Se il cliente paga in contanti e il valore dell’auto è:
• minore di 10000€, avrà uno sconto del 2% sul prezzo dell’acquisto
• compreso tra 10000 e 18000€, avrà uno sconto del 5%
• compreso tra 18000 e 30000€, avrà uno sconto dell’8%
• superiore ai 30000€, avrà uno sconto del 12%

Il problema principale e vedere se il cliente ha pagato in contanti o meno,visto che sono tre tabelle diverse.Io ho riuscito a fare il trigger semplice e sotto gli ho messo una select con il join,ma non so concatenare queste due soluzioni,cioè il trigger dovrebbe attivarsi solo nel caso della select.

Ecco il trigger con la select sotto:
CREATE OR REPLACE TRIGGER TRIGGER_SCONTO1
BEFORE INSERT ON ACQUISTO
FOR EACH ROW
DECLARE
ERRORE_IMMISSIONE_VALORE EXCEPTION;
BEGIN
IF (:NEW.IMPORTO>=5400 AND :NEW.IMPORTO<10000) THEN
:NEW.SCONTO:=2;
ELSIF (:NEW.IMPORTO>=10000 AND :NEW.IMPORTO<18000) THEN
:NEW.SCONTO:=5;
ELSIF (:NEW.IMPORTO>=18000 AND :NEW.IMPORTO<30000) THEN
:NEW.SCONTO:=8;
ELSIF (:NEW.IMPORTO>30000) THEN
:NEW.SCONTO:=12;
ELSE RAISE ERRORE_IMMISSIONE_VALORE;
END IF;
EXCEPTION
WHEN ERRORE_IMMISSIONE_VALORE THEN
DBMS_OUTPUT.PUT_LINE ('VALORE IMMESSO ERRATO');
RAISE_APPLICATION_ERROR (-20007,'IMPORTO >= 5400');
END;
/
SELECT CF_CLIENTE,IMPORTO,SCONTO
FROM((PAGAMENTO JOIN CONTANTI ON PAGAMENTO.CODICE=CONTANTI.CODICE)JOIN ACQUISTO ON PAGAMENTO.CODICE_ACQUISTO=ACQUISTO.CODICE);


Grazie a tutti.