RE: [pgsql-fr-generale] Développements coté serveur

From: Stéphane SOCHACKI <stephane(dot)sochacki(at)rcsoft(dot)fr>
To: <linux(at)lfi(dot)fr>
Cc: <pgsql-fr-generale(at)postgresql(dot)org>
Subject: RE: [pgsql-fr-generale] Développements coté serveur
Date: 2005-03-29 09:14:11
Message-ID: 05032911141536600@mail.tdi-services.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

J'aurais du préciser que je fais:
CREATE myView AS SELECT * FROM maTable;
CREATE FUNCTION myFunction(myView) AS 'lib.so' LANGUAGE C;
CREATE RULE myRule AS ON INSERT TO myView DO INSTEAD SELECT myFunction(NEW);

________________________________

De : Frédéric Turpin [mailto:linux(at)lfi(dot)fr]
Envoyé : mardi 29 mars 2005 11:11
À : Stéphane Sochacki
Cc : pgsql-fr-generale(at)postgresql(dot)org
Objet : Re: [pgsql-fr-generale] Développements coté serveur


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:

Browse pgsql-fr-generale by date

  From Date Subject
Next Message LB 2005-03-31 13:15:35 Enum et Set avec Postgresql
Previous Message Frédéric Turpin 2005-03-29 09:10:36 Re: Développements coté