From: | Frédéric Turpin <linux(at)lfi(dot)fr> |
---|---|
To: | Stéphane Sochacki <Stephane(dot)Sochacki(at)rcsoft(dot)fr> |
Cc: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: Développements coté |
Date: | 2005-03-29 09:10:36 |
Message-ID: | 42491B8C.1090207@lfi.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
en 7.4
On ne peut pas inserer , update ou détruire une rangée d'une table à
travers une vue.
il faut passer par une règle style :
CREATE RULE nom_regle AS ON INSERT TO mavue DO INSTEAD
.....
FT
------------------------------------------------------------------------
Bonjour, j'arrive avec un gros soucis de variables.
J'ai une VIEW, sur laquelle je déclare une RULE.
Dans cette dernière, j'aimerai appeller une fonction C, en lui passant
le NEW en paramètre afin de faire 2,3 vérifications. Comment je le
déclare ce paramètre? (coté C et coté SQL lors du CREATE FUNCTION).
La fonction C je la déclare au format V1 (paramètres PG_FUNCTION_ARGS)
pour avoir la paix (après on verra pour récupérer ce qu'il faut à grands
coups de ciseaux). Coté SQL je déclare la fonction du type "CREATE
FONCTION mafonction(mavue) ..." (mavue étant le nom de la vue dont la
règle appelle ma fonction).
Donc ça compile, ça s'intalle, mais quand je fais un INSERT dans ma vue
il me crache:
"ERREUR: Impossible de gérer une référence sur une ligne entière"
Quelqu'un aurait des infos là dessus?
Merci
Stéphane Sochacki wrote:
From | Date | Subject | |
---|---|---|---|
Next Message | Stéphane SOCHACKI | 2005-03-29 09:14:11 | RE: [pgsql-fr-generale] Développements coté serveur |
Previous Message | Stéphane Sochacki | 2005-03-29 08:47:41 | Développements coté serveur |