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

Automatycznie aktualizuj pole w bazie danych

informacje w kolumnie TMP_PONYLIST jest zbędny (istnieje gdzie indziej). Będziesz miał wiele problemów, aby go utrzymać (żadne rozwiązanie nie będzie działać poprawnie w środowisku wielu użytkowników, chyba że istnieje jakiś mechanizm blokujący).

W znormalizowanym modelu po prostu usunąłbyś tę kolumnę z modelu fizycznego. Jeśli potrzebujesz informacji, możesz użyć widoku, na przykład z Oracle 11gR2:

CREATE OR REPLACE VIEW rider_v AS
SELECT rider_id, /*...,*/
       (SELECT listagg(p.pony_name, ';') WITHIN GROUP (ORDER BY p.pony_name)
          FROM t_pony p
          JOIN t_rider_pony rp ON (p.pony_id = rp.pony_id)
         WHERE rp.rider_id = r.rider_id) tmp_ponylist
  FROM t_rider r;

Zobacz to SO na przykład agregacja ciągów przed 11gR2.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:dynamiczne zapytanie z klauzulą ​​IN za pomocą kursora

  2. Zrzucasz pola CLOB do plików?

  3. Jakie sytuacje powodują, że pakiety Oracle stają się nieważne?

  4. Twórz na lokalnej instancji Oracle

  5. Strona główna Oracle tylko do odczytu