Oracle
 sql >> Database >  >> RDS >> Oracle

Oracle Impossibile aggiornare a NULL

Dai tuoi commenti, ho letto che sembri voler scrivere un record predefinito nella tabella di destinazione, nel caso in cui la sottoquery non restituisca alcun record. Quindi il modo corretto per formulare la tua query sarebbe usare un MERGE dichiarazione in quanto tale:

MERGE INTO "SCHEMA1"."CELLS_GLIST" dst
USING (
  -- rephrase your subquery here. This is your "merge data source". The number
  -- of records returned in this subquery will correspond to the number of
  -- affected records in dst
) src
ON (
  -- the missing exists condition here. Everytime this condition matches a record
  -- between dst and src, an UPDATE is performed. Otherwise, an INSERT is
  -- performed
)
WHEN MATCHED THEN UPDATE 
  SET dst."GLIST_VALUE_ID" = src."GLIST_VALUE_ID"
WHEN NOT MATCHED THEN INSERT ("GLIST_VALUE_ID", "USER_ID", "SESSION_ID")
  VALUES (NULL, 1, 123456);

Questo è solo per darti un'idea. Non sono sicuro di cosa stai cercando di ottenere in dettaglio, quindi ho omesso le sottoquery e le condizioni