Bonjour,
Je suis débutant et je travaille avec PostgreSQL 9.0. J'ai quelques petits problèmes que je n'arrive pas à résoudre. Le premier concerne les updatable views. J'ai une vue avec plusieurs INNER JOIN et FULL OUTER JOIN. Voici à quoi la vue ressemble, avec des JOIN en moins dans un souci de clarté pour l'exemple:
Le but de cette vue est de présenter des informations parlantes pour l'utilisateur plutôt que des ids (ex: O.nom soit le nom de l'organisation plutôt que M.org_id).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE VIEW sh_men.test_vue_mentions AS SELECT M.mention_id, M.photo_code, O.nom, P.code FROM sh_men.mentions M INNER JOIN sh_men.precisions P ON M.precision_id = P.precision_id FULL OUTER JOIN sh_men.organisations O ON M.org_id = O.org_id
J'aimerais en faire une UPDATABLE VIEW. Ce que je n'arrive pas à saisir c'est comment m'y prendre pour toutes les colonnes issues des JOIN. Par exemple, à date j'ai fait une RULE sur le UPDATE comme suit:
Par contre, comment faire pour que dans la table mentions le id de l'organisation (M.org_id) soit changé en fonction du nom de l'organisation (O.nom) saisi?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE OR REPLACE RULE test_vue_mentions_update_rule AS ON UPDATE TO sh_men.test_vue_mentions DO INSTEAD UPDATE sh_men.mentions SET mention_id = NEW.mention_id, photo_code = NEW.photo_code WHERE mention_id = OLD.mention_id
Je vous remercie beaucoup pour votre aide,
Mathieu
Partager