Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [Oracle] Problemi con MERGE

    ciao!

    sono alle prese, per la prima volta, con l'istruzione MERGE.
    ho già un record nella tabella.
    il campo NPAM (che primary key) è valorizzato con il valore '1096'.
    se faccio questo:
    codice:
    MERGE INTO FSH_CIM_MODIFICA_ARTICOLI TBL1
    USING(SELECT NPAM FROM FSH_CIM_MODIFICA_ARTICOLI WHERE NPAM = '1096') TBL2 ON(TBL1.NPAM = TBL2.NPAM)
    WHEN MATCHED THEN UPDATE SET DATA_MOD = '15-DIC-16'
    WHEN NOT MATCHED THEN INSERT(TBL1.NPAM, TBL1.DATA_MOD) VALUES('1097', '16-DIC-16');
    funziona, nel senso che la data viene modificata correttamente.
    se invece provo così:
    codice:
    MERGE INTO FSH_CIM_MODIFICA_ARTICOLI TBL1
    USING(SELECT NPAM FROM FSH_CIM_MODIFICA_ARTICOLI WHERE NPAM = '1097') TBL2 ON(TBL1.NPAM = TBL2.NPAM)
    WHEN MATCHED THEN UPDATE SET DATA_MOD = '15-DIC-16'
    WHEN NOT MATCHED THEN INSERT(TBL1.NPAM, TBL1.DATA_MOD) VALUES('1097', '16-DIC-16');
    non funziona, nel senso che il record non viene aggiunto.
    non da errore, però non viene aggiunto nessun articolo.
    dove sto sbagliando??

  2. #2
    ok, così funziona:
    codice:
    MERGE INTO FSH_CIM_MODIFICA_ARTICOLI TBL1
    USING FSH_CIM_MODIFICA_ARTICOLI TBL2 ON(TBL2.NPAM = '1097')
    WHEN MATCHED THEN UPDATE SET DATA_MOD = '15-DIC-16'
    WHEN NOT MATCHED THEN INSERT(TBL1.NPAM, TBL1.DATA_MOD) VALUES('1097', '16-DIC-16');

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.