sql >> Databáze >  >> RDS >> Oracle

Automaticky aktualizovat pole v databázi

informace ve sloupci TMP_PONYLIST je redundantní (existuje někde jinde). Při jeho údržbě se dostanete do nejrůznějších problémů (Žádné řešení nebude fungovat správně v prostředí pro více uživatelů, pokud neexistuje nějaký zamykací mechanismus).

V normalizovaném modelu byste tento sloupec jednoduše vypustili z fyzického modelu. Pokud potřebujete informace, můžete použít pohled, například s 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;

Viz toto SO například agregace řetězců před 11gR2.



  1. Jak vytvořit tabulku mysql s výchozím časovým razítkem sloupce current_date?

  2. MariaDB ROUND() vs. FLOOR()

  3. Jaký je rozdíl mezi CASE a IF v mysql

  4. Vkládání informací z databáze mySQL do pole JavaScript