SQL Developer - defaultowy insert nowych wierszy

0

Cześć! Jestem dość świeży w temacie programowania i baz danych, dlatego z góry proszę o wyrozumiałość. Uprzedzając pytania, od razu zaznaczę też, że owszem - szukałem odpowiedzi gdzie indziej, ale żadna (dla mnie laika) zdaje się nie rozwiązywać w 100% mojego problemu.
Mam taką sytuację: baza danych w Oracle SQL, z 8 mln rekordów. Za pomocą SELECTa wyciągnąłem sobie z ponad 100 kolumn, tylko te które mnie interesują, czyli:

  • id_operacji (klucz główny)
  • czas_operacji
  • status_operacji.

Zauważyłem, że SQL Developer, przy updatowaniu pól w kolumnie "status_operacji", dodaje nowy wiersz, o takim samym "id_operacji" jak poprzedni, tyle że ze zmienionym statusem.
Zależy mi na tym, aby uaktualniane były tylko pola w kolumnie "status_operacji", ID ma pozostać unikalne, tzn. nie dodajemy nowego wiersza, a jedynie update'ujemy jedno z pól w wierszu.

Ktoś ma pomysł co może być nie tak z tą bazą danych? Czy jest to kwestia ustawień w SQL Developer, czy jakiś inny błąd logiczny w samej bazie danych?
Jakim query mogę uzyskać pożądany przeze mnie efekt?

Z góry dziękuję za pomoc!
Mateusz

1

Zapewne na tabeli jest trigger, który dodaje ten rekord. Z tego co piszesz, to obsługuje on jakiś rodzaj historii statusów. Skoro tak robi, to zapewne ma tak być. :)
A skoro dodaje rekord z tym samym ID_OPERACJI, to nie może być to klucz główny (na pewno nim jest?).

0

Masz rację robertos - zalogowałem się ponownie do bazy aby to sprawdzić i fakt - nie jest to PK.

Owszem, z tego co mi mówiono, poprzednio ta baza właśnie w ten sposób funkcjonowała - najnowsze update'y dodawane były w kolejnych wierszach.
Aktualne wymagania klienta zakładają: UPDATE pola w kolumnie "status_operacji" + UPDATE pola w kolumnie "czas_operacji" (bez dodawania nowych wierszy).

Poszukam triggerów na tej bazie i dam znać. Dziękuję za pomoc!

0

Ale zdajesz sobie sprawę z tego że nie musi to być trigger?

0

Zdaję. :-) Jeśli to nie będzie kwestia triggera, powiem że chodzi o coś innego. Jutro w pracy się tym zajmę.

0

Pamiętaj, że wymagania klienta <> to co można zmienić w bazie. :) Sprawdź najpierw co korzysta z takiego systemu wersjonowania i czy zmiana czegoś nie rozwali.

1 użytkowników online, w tym zalogowanych: 0, gości: 1