Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Trigger problem

Re: Trigger problem

From: Alen Cappelletti <cocker_at_libero.it>
Date: 7 Jun 2005 05:25:14 -0700
Message-ID: <1118147114.664909.272190@g49g2000cwa.googlegroups.com>


Thank U!!!
I 've understood the problem.

I try to insert into same table of trigger...so a never end cicle.... Now I have made an external TAB and on Fire start my Trigger.

This is my Code...
One more little question
For the SEQUENCE of my ID filed, I must create out of this code or into the trigger?
Now I have declare NULL...under here not are in the script.

Thank you!
Alen, Italy



CREATE OR REPLACE TRIGGER "TRG_BEF_TBLAPPSTAMPAFATTURE"     BEFORE INSERT
    ON "TABAPPOGGIOSTAMPAFATTURE"
    FOR EACH ROW DECLARE
	v_RAGIONESOCIALE varchar2(50);
 	v_INDIRIZZO varchar2(50);
  	v_CAP varchar2(5);
    v_CITTA varchar2(50);
    v_PROVINCIA varchar2(2);
    v_PIVA varchar2(11);
    v_CODICESIGMA varchar2(20);
    v_DESCRIZIONECOMMESSA varchar2(4000);
    v_NUMORDINECLIENTE varchar2(4000);
    v_FILIALE varchar2(50);
    v_COMMERCIALE varchar2(60);
    v_DESATTIVITA varchar2(4000);
    v_QUANTITA number(3);
    v_PREZZO number(10,3);
    v_TOTRIGALISTINO number(10,3);
    v_IVA number(10,3);
    v_IMPONIBILEPIUIVA number(10,3);
    v_TIPOLOGIAPAGAMENTO varchar2(200);

    v_POSTGIORNI number(3);
    v_FINEMESE number(1);

BEGIN

	SELECT
		INITCAP(MAX(cli.RAGSOC)) RAGSOC,
		INITCAP(MAX(cli.INDIRIZZO)) INDIRIZZO,
		MAX(cli.CAP) CAP,
		INITCAP(MAX(cli.CITTA)) CITTA,
		TRIM(MAX(cli.PROVINCIA)) PROVINCIA,
		MAX(cli.PARTITAIVA) PARTITAIVA,
		MAX(cli.CODSIGMA) CODSIGMA,
		MAX(comm.DESCRIZIONE) DESCRIZIONE,
		MAX(comm.NUMORDINECLIENTE) NUMORDINECLIENTE,
		MAX(anacomm.FILIALE) FILIALE,
		Trim(MAX(anacomm.NOME))||' '||Trim(MAX(anacomm.COGNOME))
RiferimentoCommerciale,
		MAX(lis.DESATTIVITA) DESATTIVITA,
		TO_NUMBER(MAX(lis.QUANTITA)) QUANTITA,
		TO_NUMBER(MAX(lis.PREZZO)) PREZZO,
		TO_NUMBER(MAX(lis.QUANTITA)*MAX(lis.PREZZO)) TotRiga,
		TO_NUMBER(((MAX(lis.QUANTITA)*MAX(lis.PREZZO))/100)*20) IVA,
		TO_NUMBER((MAX(lis.QUANTITA)*MAX(lis.PREZZO)+((MAX(lis.QUANTITA)*MAX(lis.PREZZO))/100)*20))
ImponibileConIva,
		MAX(pag.DescrizionePagamento) DescrizionePagamento,
		TO_NUMBER(MAX(pag.GIORNI)) PostfatturazioneGiorni,
		TO_NUMBER(MAX(pag.FINEMESE)) FineMese
	INTO
		v_RAGIONESOCIALE,
	 	v_INDIRIZZO,
	  	v_CAP,
	    v_CITTA,
	    v_PROVINCIA,
	    v_PIVA,
	    v_CODICESIGMA,
	    v_DESCRIZIONECOMMESSA,
	    v_NUMORDINECLIENTE,
	    v_FILIALE,
	    v_COMMERCIALE,
	    v_DESATTIVITA,
	    v_QUANTITA,
	    v_PREZZO,
	    v_TOTRIGALISTINO,
	    v_IVA,
	    v_IMPONIBILEPIUIVA,
	    v_TIPOLOGIAPAGAMENTO,
	    v_POSTGIORNI,
	    v_FINEMESE
	FROM TABDATIFATTURAZIONE  fatt,
		 TABLISTINI lis,
		 TABTESTATACOMMESSE comm,
		 TABANAGRAFICACLIENTI cli,
		 TABANAGRAFICACOMMERCIALI anacomm,
		 TABTIPOPAGAMENTO pag
	WHERE TRIM(fatt.NUMEROCOMMESSA) = :NEW.NUMEROCOMMESSA
	AND TRIM(fatt.PROGRIGA) = :NEW.PROGRIGA
	AND TRIM(fatt.PROGRIGAFATTURA) = :NEW.PROGRIGAFATTURA
	AND TRIM(fatt.MESE) = :NEW.Mese
	AND fatt.NUMEROCOMMESSA = lis.NUMEROCOMMESSA
	AND fatt.PROGRIGA = lis.PROGRIGA
	AND comm.NUMEROCOMMESSA = lis.NUMEROCOMMESSA
	AND comm.TIPOPAGAMENTO = pag.PROGPAGAMENTO
	AND comm.PROGCLIENTE = cli.PROGCLIENTE
	AND cli.PROGCOMMERCIALE = anacomm.PROGCOMMERCIALE
	GROUP BY fatt.MESE;

	INSERT INTO TABTESTASTAMPAFATTURE2 (NUMEROCOMMESSA, PROGRIGA,
PROGRIGAFATTURA, MESE, DATAUNIFICATRICESELEZIONE, RAGIONESOCIALE, INDIRIZZO, CAP, CITTA, PROVINCIA, PIVA, FILIALE, COMMERCIALE, DESCRIZIONECOMMESSA, NUMORDINECLIENTE, CODICESIGMA, TIPOLOGIAPAGAMENTO, POSTGIORNI, FINEMESE, DESATTIVITA, QUANTITA, PREZZO, TOTRIGALISTINO, IVA, IMPONIBILEPIUIVA) VALUES
		(

:NEW.NUMEROCOMMESSA,
:NEW.PROGRIGA,
:NEW.PROGRIGAFATTURA,
:NEW.MESE,
:NEW.DATAUNIFICATRICESELEZIONE,
v_RAGIONESOCIALE, v_INDIRIZZO, v_CAP, v_CITTA, v_PROVINCIA, v_PIVA, v_FILIALE, v_COMMERCIALE, v_DESCRIZIONECOMMESSA, v_NUMORDINECLIENTE, v_CODICESIGMA, v_TIPOLOGIAPAGAMENTO, v_POSTGIORNI, v_FINEMESE, v_DESATTIVITA, v_QUANTITA, v_PREZZO, v_TOTRIGALISTINO, v_IVA, v_IMPONIBILEPIUIVA );

END; Received on Tue Jun 07 2005 - 07:25:14 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US