Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Insert into NOME TABELLA select ..... (Differenza numero record)
lunedì 29 novembre 2010 - 14.23
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
Oracle 10g
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 29 nov 2010 - 14:23
Ciao a tutti,
ho un problema con oracle 10. Vi dico già da subito che la query che lancio, da trigger, per alcuni codici negozi funziona, per altri no.
La cosa strana è questa:
se lancio la select tiro fuori ad esempio 53 record. Se lancio la stessa query preceduta da in inser into, mi restituisce 50000 e passa righe.
Penso sia un comportamente abbastanza bizzarro, ma non riesco a capire a cosa sia dovuto.
Al di la di postare il codice, se la select lanciata singolarmente restituisce n record, perchè questi vengono "moltiplicati" nell'insert?
dinoxet
Profilo
| Senior Member
484
messaggi | Data Invio:
lun 29 nov 2010 - 14:31
ciao,
prova a postarci il create della tabella
ed il codice del trigger
magari si alluppa da qualche parte...
DINOXET
__________________________________________
impossible is only a word
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 29 nov 2010 - 14:40
Creazione tabella:
CREATE TABLE ETICHETTE_DATI
(
AZIENDA VARCHAR2(2 BYTE) NOT NULL,
COD_NEG NUMBER(9) NOT NULL,
COD_ART NUMBER(9) NOT NULL,
TIPO_ETICHETTA VARCHAR2(4 BYTE) NOT NULL,
NUMERO_ETICHETTE NUMBER(6) NOT NULL,
DES_ETICHETTA VARCHAR2(40 BYTE) NOT NULL,
PREZZO_VENDITA NUMBER(9,2) NOT NULL,
PREZZO_CHIARO NUMBER(9,2),
UM_PREZZO_CHIARO VARCHAR2(2 BYTE),
MISURA_PREZZO_CHIARO NUMBER(9,3),
COD_IMBALLO NUMBER(9),
QTA_X_IMBALLO NUMBER(9,3),
COD_FOR NUMBER(9),
COD_ORDINE VARCHAR2(20 BYTE),
UM_ACQUISTO VARCHAR2(2 BYTE),
DATA_INIZIO_VALIDITA DATE,
DATA_STAMPA_ETICHETTA DATE,
TITOLO_PROMO VARCHAR2(40 BYTE),
DATA_INIZIO_PROMO DATE,
DATA_FINE_PROMO DATE,
PREZZO_PROMO NUMBER(9,2),
SCONTO_PROMO NUMBER(5,2),
DATA_MODIFICA DATE,
AUTORE VARCHAR2(50 BYTE),
COD_BARRE VARCHAR2(14 BYTE),
CORSIA VARCHAR2(3 BYTE),
MONTANTE NUMBER(2),
PIANO NUMBER(2),
TIPO_PREZZO VARCHAR2(15 BYTE),
MXN_ACQUISTATI NUMBER(2),
MXN_PAGATI NUMBER(2),
UM_NO_PEZZI VARCHAR2(5 BYTE)
)
Procedura:
insert into etichette_dati (
azienda, cod_neg, cod_art,
tipo_etichetta, numero_etichette, des_etichetta,
prezzo_vendita, prezzo_chiaro, um_prezzo_chiaro,
misura_prezzo_chiaro, cod_imballo, qta_x_imballo,
cod_for, cod_ordine, um_acquisto,
data_inizio_validita, data_stampa_etichetta, titolo_promo,
data_inizio_promo, data_fine_promo, prezzo_promo,
sconto_promo, data_modifica, autore,
cod_barre, corsia, montante,
piano)
(select
'01',to_number(inTesNeg),b.cod_art,
'C',1,nvl(deseti,desart),
pvatt2/100,pvatt2*1000/decode(pezzat,0,1,pezzat),unmi,
pezzat/1000,0,qtacar,
decode(codfor,1,22083,codfor),decode(codmsi,'000000',' ',codmsi),' ',
trunc(sysdate),null,null,
null,null,null,
null,sysdate,'sql_da_more',
det_ean,nvl(corsia,' '),nvl(montante,0),nvl(piano,0)
from negozi.more_dati_righe,usrdev.ciccart a,usrdev.ciccean e,usrdev.articolo_codici_barre b,usrdev.display_negozio d
where det_idx=inTesIdx
and to_number(det_ean)=to_number(cod_barre)
and sysdate between data_inizio_validita and data_fine_validita
and to_number(det_ean)=to_number(codean)
and e.codart=a.codart
and unmi<>'ES'
and '01'=d.azienda(+)
and to_number(inTesNeg)=d.cod_neg(+)
and b.cod_art=d.cod_art(+)
union
select
'01',to_number(inTesNeg),b.cod_art,
'C',1,nvl(deseti,desart),
pvatt2/100,0,unmi,
pezzat/1000,0,qtacar,
decode(codfor,1,22083,codfor),decode(codmsi,'000000',' ',codmsi),' ',
trunc(sysdate),null,null,
null,null,null,
null,sysdate,'sql_da_more',
det_ean,nvl(corsia,' '),nvl(montante,0),nvl(piano,0)
from negozi.more_dati_righe,usrdev.ciccart a,usrdev.ciccean e,usrdev.articolo_codici_barre b,usrdev.display_negozio d
where det_idx=inTesIdx
and to_number(det_ean)=to_number(cod_barre)
and sysdate between data_inizio_validita and data_fine_validita
and to_number(det_ean)=to_number(codean)
and e.codart=a.codart
and unmi='ES'
and '01'=d.azienda(+)
and to_number(inTesNeg)=d.cod_neg(+)
and b.cod_art=d.cod_art(+));
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
ven 3 dic 2010 - 10:33
Uhm.... nessuna idea?
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !