PDA

Visualizza la versione completa : [ORACLE] Merge


liveforever
23-02-2009, 10:32
Salve a tutti.

Ho la necessità di aggiornare un campo di una tabella solo se è soddisfatta una condizione, in caso contrario devo effettuare una insert.

In pratica se è GIA' PRESENTE la riga nella tabella, faccio l'update di un suo campo, altrimenti faccio la insert.

Mi hanno parlato di questo comando MERGE, il cui funzionamento mi è chiaro fino ad un certo punto: come posso adattarlo nel caso in cui ho 1 sola tabella?

Es.

La mia tabella ha 3 colonne (id, nome, oraInserimento).
La mia query deve controllare se l'id in ingresso è già presente -> se così fosse fa l'update altrimenti la insert.

MERGE INTO <nomeTabella>
USING (<Qui faccio la Select * sulla tabella> -> *devo inserire anche la condizione??*)
ON (<Qui non ho idea di cosa mettere>)
WHEN MATCHED THEN <Update>
WHEN NOT MATCHED THEN <Insert>

I passaggi oscuri sono la USING e la ON...chi ne sa di più?
Grazie!

Loading