PDA

Visualizza la versione completa : [PL/SQL] Creazione di query strutturata dinamicamente


maxartax
30-04-2010, 10:55
salve a tutti,

ho bisogno di creare una query strutturata dinamicamente, mi spiego:
ho una tabella di controllo con delle flag compilata in modo che una query possa fare delle somme su un altra tabella (contenente dei dati di produzione).
il problema è che voglio fare una query dinamica, ossia:

-somma tabella di produzione fatta in base a flag prima riga tabella di controllo

UNION

- somma tabella di produzione fatta in base flag prima e seconda riga

UNION

- prima seconda terza riga

UNION

- così fino all'ultima riga

come posso fare questo (non posto il codice perchè lo devo ancora implementare, volevo fare un idea di base) ?

Grazie a tutti

denis76
30-04-2010, 17:42
Prepara una stored procedure.

maxartax
03-05-2010, 09:56
innanzitutto grazie per la risposta !!

si, avevo pensato a una stored procedure volevo fare una stringa che richiudeva la query da eseguire: il problema è che questa tabella di controllo viene modificato spesso...quin di in teoria dovrei fare un cciclo for che va a scorrere ogni singola riga: la prima volta la query andrà a fare la query in base al valore della prima riga, la seconda volta il valore della prima riga OR valore della singola riga. come posso far scorrere ogni volta questa tabella di controllo?

Ringrazio per la pazienza, ciau :)

denis76
03-05-2010, 11:55
Diciamo che si può fare di tutto con le stored procedure. E' che non capisco proprio quale sia la tua situazione e quindi non ti posso aiutare.

Ciao ciao.

maxartax
03-05-2010, 13:43
ho due tabelle, una di produzione (con valori da sommare) e un altra dove ho una colonna con un valore ( a, b, c, d): questa tabella viene spesso modificata, quindi la query da fare dovrebbe essere modificata.
praticamente deve fare :

record che indica informazioni somma nella tabella di produzione quando si verifica "a" nella seconda tabella (confronto tramite semplice join)

Union

record che indica somma quando si verifica "a" oppure "b" nella seconda

union

"a","b","c"

union

così fino all'ultimo record della tabella di controllo, che includerà tutte le righe ( e nel mio caso somma tutti i record della tabella di produzione)

Il problema è che :
- non sò da dove partire per fare questa struttura dinamica, dato che i record nella tabella di controllo vengono spesso modificati(cambiato il valore, rimossi, aggiunti nuovi record)

Ti ringrazio per la pazienza, capisco che non riesco molto ad esprimere quello che voglio implementare
ciao :)

Loading