Originariamente inviato da drakko90
salve a tutti ho un piccolo problema per il progetto per l'esame di base di dati.
ora vi spiego sto creando un database per la gestione di magazzino di una libreria
nella tabella movimenti ho i campi(N_mov, data,prezzo_tot)
in pratica ho bisogno di calcolare il prezzo totale e metterlo direttamente nel campo prezzo_tot.
le tabelle che uso sono libro(isbn, titolo,prezzo)
dettagli mov(cod_art, n_mov, quantita)
la mia idea era questa:
update movimenti
set prezzo_tot(select libro.prezzo * dettagli_mov.quantita
from libro join dettagli_mov on libro.isbn=dettagli_mov.cod_art)
where=?
oppure
CREATE OR REPLACE TRIGGER T5
BEFORE INSERT ON MOVIMENTI
FOR EACH ROW
DECLARE
CURSOR C1 IS SELECT PREZZO
FROM LIBRO;
CURSOR C2 IS SELECT QUANTITA_MOV
FROM DETTAGLI_MOV;
PR NUMBER(8,2);
QU NUMBER(5);
TOT NUMBER(8,2);
BEGIN
OPEN C1;
OPEN C2;
FETCH C1 INTO PR;
FETCH C2 INTO QU;
WHILE C1%FOUND LOOP
WHILE C2%FOUND LOOP
UPDATE MOVIMENTI
SET PREZZO_MOV=PR*QU
WHEN PREZZO_MOV=0;
FETCH C1 INTO PR;
FETCH C2 INTO QU;
END LOOP;
END LOOP;
END;
ma anche in questo caso non funziona
ho già provato in tutti i modi ma non so come farlo funzionare ho anche provato a fare una procedura o un trigger ma non va.
qualcuno per favore può aiutarmi a trovare la soluzione.
grazie mille