Updatable views avec joins
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:
Code:
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 |
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).
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:
Code:
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 |
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?
Je vous remercie beaucoup pour votre aide,
Mathieu