Re: Colonne inéxistante

From: Marc Cousin <cousinmarc(at)gmail(dot)com>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: Colonne inéxistante
Date: 2008-12-13 15:49:33
Message-ID: 200812131649.33920.cousinmarc@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Le Saturday 13 December 2008 14:41:48 Gautier Di Folco, vous avez écrit :
> Bonjour, je suis nouveau, je suis entrain de tester une fonction PL/pgsql,
> et lorsque je la teste, j'ai le droit à ce message d'erreur : ERREUR: row
> "droits" has no field "fk_membre"CONTEXTE : compile of PL/pgSQL function
> "obtenir_droits" near line 11 ********** Erreur **********
> ERREUR: row "droits" has no field "fk_membre"État SQL :42703Contexte :
> compile of PL/pgSQL function "obtenir_droits" near line 11
>
> Que faire sâchant que ma fonction est :
> CREATE OR REPLACE FUNCTION obtenir_droits(IN _fk_groupe integer, IN
> _fk_membre integer, OUT nb_profil integer, OUT droits profil) RETURNS
> RECORD AS$BODY$DECLARE test1 RECORD; test2 RECORD;BEGIN--... (un IF et un
> SELECT, juste) SELECT COUNT(profil.*) nb_droits INTO test1 FROM droits,
> profil-- ligne 11 WHERE droits.fk_membre=_fk_membre AND
> profil.fk_groupe=_fk_groupe AND profil.pk_profil=droits.fk_profil; --...
> END;$BODY$LANGUAGE 'plpgsql' VOLATILE;
>
> CREATE TABLE droits( pk_droit serial, fk_membre integer, fk_profile
> integer, CONSTRAINT comm_r_droits_pkey PRIMARY KEY (pk_droit));

A ce que je comprends de la déclaration de ta fonction ( OUT droits profil),
tu déclares "droit" comme étant une variable de type 'profil'.
Aucune idée si cela existe dans ta base, mais probablement pas ... d'ou ton
erreur (la variable "droit" doit être prioritaire sur la table "droit" dans
l'interprétation de la clause profil.pk_profil=droits.fk_profil )

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Gautier Di Folco 2008-12-13 16:02:14 RE: Colonne inéxistante
Previous Message Gautier Di Folco 2008-12-13 13:41:48 Colonne inéxistante