ecco fatto:
codice:
CREATE PROCEDURE TOTALI_DETDO (
IDMOVIMENTI INTEGER)
RETURNS (
IMPONIBILE NUMERIC(15,3),
IMPOSTA NUMERIC(15,3),
TOTALE NUMERIC(15,3)
)
AS
DECLARE VARIABLE QUANTITA_ NUMERIC(15,3);
DECLARE VARIABLE PREZZO_ NUMERIC(15,3);
DECLARE VARIABLE SCONTO_ NUMERIC(15,3);
DECLARE VARIABLE IVA_ NUMERIC(15,3);
DECLARE VARIABLE IMPON_ NUMERIC(15,3);
DECLARE VARIABLE IMPOS_ NUMERIC(15,3);
begin
/* Procedure Text */
IMPONIBILE=0;
IMPOSTA=0;
TOTALE=0;
FOR SELECT quantita,prezzo,sconto, iva FROM movimenti_dettaglio
where id_movimenti LIKE :idmovimenti
into :quantita_, :prezzo_, :sconto_, :iva_
DO
BEGIN
IMPON_ = ((:quantita_* :prezzo_)-(:quantita_ * :prezzo_ *:sconto_ /100));
IMPONIBILE = IMPONIBILE + IMPON_;
IMPOS_ = IMPON_ * :IVA_ /100;
IMPOSTA = IMPOSTA + IMPOS_;
END
TOTALE = IMPONIBILE +IMPOSTA;
suspend;
end
in questa maniera ottengo i risultati giusti....
resta una cosa da fare, e cioe controllare se i valori :quantita_ rezzo_ :sconto_ :iva_ sono null.
come mi consigli di fare? controllare nella stored o direttamente inserire l'opzione NOT NULL nelle proprieta del field della tabella del database?
grazie
ps....scusami ma nn so xke sono uscite tutti queste faccine che ridono... forse per una semplice consecutivita di caratteri.