Wpis z mikrobloga

#bazydanych #oracle #json #bash

Mam bazę danych Oracle. Do jednej z kolumn zapisuję JSON-a.


Trafiła mi się jednak sytuacja awaryjna, w której muszę zmodyfikować tego JSON-a (np. dopisać jakiś klucz z wartością). Mam do dyspozycji tylko SQL (PL/SQL) z Oracla i ewentualnie basha.


Jak najlepiej to zrobić? Czy Oracle oferuje jakimś zapytaniem/funkcją która by mi pomogła? Najnowsze bazy danych pewnie oferują przechowywanie i przetwarzanie JSON-a, ale to jest stary Oracle.

Jedyne co mi przyszło do głowy, to zrobić REPLACE regexpem na ostatniej klamerce JSON-a i wstawić mój klucz i klamerkę. Jak jednak zabezpieczyć się np. przed tym, że ta wartość już jest? Albo jak wstawić wartość w środku? Czuję, że to będzie ciężkie i podatne na błędy rzeźbienie.
  • 4
@mk321 A masz uprawnienia żeby tworzyć typy i pakiety? Jeśli tak to możesz sobie dodać typy obiektowe do przetwarzania json. Poszukaj na necie PL/JSON. Powinieneś znaleźć skrypty (create) tworzące odpowiednie typy. Później sobie polecisz skryptem i zrobisz to co chcesz.