PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Postgres UPDATE to_tsvector mettant à jour toutes les lignes à la même valeur

  • vous n'avez pas besoin de la sous-requête
  • vous n'avez pas besoin de resélectionner les messages, (la table cible est déjà dans la table de plage)
  • vous devez associer la requête source à la ligne de résultat
UPDATE messages msg
  SET vector = to_tsvector(lang.language::regconfig, msg.message)
  FROM locales as loco
  JOIN languages as lang ON loco.language_id = lang.id
  WHERE msg.locale_id = loco.id
     ;