ho questo semplice esempio non posso sembra ottenere di lavoro:Oracle MERGE non inserisce
MERGE INTO mytable mt
USING dual
ON (mt.id = 'AAA')
WHEN MATCHED THEN
UPDATE SET mt.name = 'updated'
WHEN NOT MATCHED THEN
INSERT (mt.id , mt.name)
VALUES ('AAA', 'Gooood');
Se il record di 'AAA' esiste nella tabella, viene aggiornato con successo.
Ma se non esiste, non viene inserita:
Affected rows: 0
Time: 0.003ms
Qualsiasi indizio su quello che sto facendo di sbagliato?
Quale strumento stai usando che risponde "righe interessate: 0 Tempo: 0.003ms"? –
Uno si chiede se l'OP si sta unendo senza commit in una sessione e l'interrogazione da un'altra. O se l'app esistente sta interpretando correttamente l'output dall'analogo di SQL% ROWCOUNT. –
E 'possibile che la tabella 'mytable' richieda molto più di' id' e 'name' per fare un inserto valido? –