Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-06-2011, 22:32   #1
Freeskis
Member
 
Iscritto dal: Aug 2008
Messaggi: 199
[PL-SQL] Sfidone del 2 Giugno

Ciao a tutti,

Ho da sottoporvi un giocone/sfida per il 2 Giugno, ( o come si dice a lavoro serve per ieri )
io e i ragazzi del team con cui lavoro dobbiamo scrivere un report che prenda i dati da una tabella FACT caricata mensilmente.

il problema sorge qui, i dati vanno caricati dentro un db Oracle da un db DB2 iSeries, ( i due db sono connessi da un DBLink impostato su Oracle ),
il problemaè che i dati all'interno del db DB2 sono caricati senza la minima logica apparente ( roba che manco una scimmia idiota decerebrata riuscirebbe a pensare ad un modo così idiota per piazzare sti dati ).
adesso cerco di spiegare la struttura della tabella il meglio che posso:

la tabella contiene degli importi che si riferiscono a determinati periodi,
la struttura è più o meno questa:

identificativo, anno inizio periodo di riferimento, mese inizio periodo di riferimento, numero di periodi, tipologia di importo, numero righe, importo 1, importo 2, importo 3 ... importo 50.

gli importi sono da 01 a 50 e sono riferiti uno ad ogni mese,

quindi se l'anno di inizio è il 2010 il mese di inizio è l'4 e il numero di periodi è 4, la tabella sarà valorizzata secondo quanto segue:

identificativo, anno inizio periodo di riferimento, mese inizio periodo di riferimento, numero di periodi, tipologia di importo, importo 1, importo 2, importo 3 ... importo 50

340590, 2010, 04, 4, XX, 1, 100, 200, 100, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... fino a 50...
340590, 2010, 04, 4, XC, 1, 100, 200, 100, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... fino a 50...

in questo l'importo uno si riferisce a aprile 2010, il due a maggio 2010 e così via,
quindi il campo 01 sta sempre per il primo mese di competenza indipendentemente quale esso sia

nel caso in cui i periodi di competenza superino i 50 campi la riga scavalla e viene valorizzata la seconda riga, con più o meno questa struttura:

340590, 2010, 04, 4, XD, 1, 100, 200, 100, 200, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, ... fino a 50...
340590, 2010, 04, 4, XD, 2, 100, 200, 100, 200, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, ... fino a 50...

ora questa è la premessa, ecco cosa di cui si ha bisogno per caricare la tabella,

numero identificativo, tipologia di importo, importo del mese di competenza, somma dei valori "residui".

spiego brevemente a cosa si riferiscono i due importi, allora se il caricamento viene effettuato il 1 Giugno per l'esempio di cui sopra,
il valore di competenza sarà quello di maggio e quindi è il valore del secondo importo, mentre
il valore residuo comprende la somma di tutti gli importi da quello di maggio ( escluso ) in poi, comprendendo anche quelli di eventuali seconde righe,


potenzialmente nella tabella ci sono più tipologie di importo per ogni identificativo, e per ogni tipologia di importo ci possono essere più righe.

La soluzione io non ce l'ho, o comunque sono a casa quindi non ce l'ho sottomano,
non può essere scritta con SQL standard quindi serve necessariamente il plSQL ...

Spero di essere stato chiaro e che la sfida vi alletti




Ah un ultima cosa,
per lo stesso numero identificativo una tipologia di importo potrebbe iniziare da un mese diverso rispetto al mese di inizio di altre tipologie ma sempre nello stesso anno
__________________
...πάντα ῥεῖ...
Freeskis è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2011, 19:09   #2
GreatBooks
Member
 
L'Avatar di GreatBooks
 
Iscritto dal: Nov 2010
Città: Torino
Messaggi: 53
Quote:
Originariamente inviato da Freeskis Guarda i messaggi
Ciao a tutti,

identificativo, anno inizio periodo di riferimento, mese inizio periodo di riferimento, numero di periodi, tipologia di importo, numero righe, importo 1, importo 2, importo 3 ... importo 50.

gli importi sono da 01 a 50 e sono riferiti uno ad ogni mese,
mi complimento con chi ha progettato il DB....ahahahahah!
__________________
*/ --------------------------------------------- \*
Trattative concluse positivamente con: startpoint
GreatBooks è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2011, 22:39   #3
Freeskis
Member
 
Iscritto dal: Aug 2008
Messaggi: 199
Quote:
Originariamente inviato da GreatBooks Guarda i messaggi
mi complimento con chi ha progettato il DB....ahahahahah!

purtroppo è il mondo reale, dove i progetti da 3 mesi di sviluppo devono essere consegnati per ieri, e dove non frega un cazzo a nessuno di chi era Codd e chi Boyce basta che le cose funzionino, non importa come.
__________________
...πάντα ῥεῖ...
Freeskis è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2011, 01:08   #4
khelidan1980
Senior Member
 
L'Avatar di khelidan1980
 
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
Quote:
Originariamente inviato da Freeskis Guarda i messaggi
purtroppo è il mondo reale, dove i progetti da 3 mesi di sviluppo devono essere consegnati per ieri, e dove non frega un cazzo a nessuno di chi era Codd e chi Boyce basta che le cose funzionino, non importa come.
bhe che lo sviluppo orizzontale della tabella sia sbagliato ci si arriva anche senza conoscere Codd e Boyce, e non è questione di funzionare, il fatto è che con un db costruito in questo modo disastroso di ritrovi ad un certo punto ad esser bloccato su futuri sviluppi e devi per forza ristrutturare tutto, detto questo lo letto velocemente ma già ad una prima occhiata per dare una bella sistemata si potrebbe staccare gli importi e strutturarli su una singola tabella,hai una tabella principale con le informazioni di testata e una in cui ci sviluppi quello che penso sia un piano di ammortamento o roba del genere....


P.s: comunque scriverlo in PL/SQL imho dovrebbe esser un vantaggio, ti voglio veder a fare gli update in sql oracle senza l'aiuto del PL/SQL!
__________________
Khelidan

Ultima modifica di khelidan1980 : 05-06-2011 alle 01:16.
khelidan1980 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
Furto da 6,3 miliardi di dollari, Binanc...
Gli USA dipendono dai robot stranieri: T...
Volkswagen non ha più soldi per l...
Telescopio spaziale Hubble: la NASA cerc...
Più sottile e potente: le nuove i...
Il JPL estende la vita operativa della s...
DAZN Full è in offerta: tutta la ...
GTA 6 su PC potrebbe arrivare prima del ...
Da zero al tracciato in secondi: LibreCo...
Il regista Rian Johnson lancia a 12,99 d...
Microsoft stravolge l'app Sicurezza di W...
Mercato smartphone in caduta libera: -20...
Android 17 QPR3 Beta 3 riporta il blocco...
Le 10 offerte TOP in Amazon del weekend:...
Dyson, doppio crollo su Amazon: purifica...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:19.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v