Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Trigger problem
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
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);
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 );
![]() |
![]() |