sql >> Database teknologi >  >> RDS >> Oracle

Opdater automatisk felt i databasen

oplysningerne i kolonnen TMP_PONYLIST er overflødig (det findes et andet sted). Du vil komme ind i alle mulige problemer for at vedligeholde den (Ingen løsning vil fungere korrekt i et flerbrugermiljø, medmindre der er en form for låsemekanisme).

I en normaliseret model ville du blot droppe denne kolonne fra den fysiske model. Hvis du har brug for oplysningerne, kan du bruge en visning, for eksempel med 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;

Se denne SO for eksempel af strengaggregering før 11gR2.



  1. Hvordan henter jeg den sidste post i en MySQL-databasetabel ved hjælp af PHP?

  2. Advarsel:Ugyldigt argument angivet for foreach() in

  3. Hvordan bygger man dynamisk forespørgsel ved at binde parametre i node.js-sql?

  4. Hvordan importerer man en sql-fil af northwind-databasen til PostgreSQL?