Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle nie może zaktualizować do wartości NULL

Z twoich komentarzy wyczytałem, że wydaje się, że chcesz zapisać domyślny rekord w swojej tabeli docelowej, na wypadek gdyby podzapytanie nie zwracało żadnych rekordów. Zatem prawidłowym sposobem wyrażenia zapytania byłoby użycie MERGE oświadczenie jako takie:

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);

To tylko po to, by dać ci pomysł. Nie jestem do końca pewien, co chcesz osiągnąć w szczegółach, więc pominąłem podzapytania i warunki



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Widok zmaterializowany a tabele:jakie są zalety?

  2. Jak wyświetlić TYLKO tabele utworzone przeze mnie w Oracle SQL?

  3. porównywanie daty z predefiniowanym formatem pl sql

  4. Tylko jedno aktywne dla każdego ograniczenia relacji

  5. Jak zaprojektować tabelę, która będzie przechowywać bardzo duże dane?