From: | "thomas(dot)silvi" <thomas(dot)silvi(at)laposte(dot)net> |
---|---|
To: | "claude C(dot)" <claude(dot)di(dot)pg(at)free(dot)fr> |
Cc: | liste PostgreSql FR <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: passage de pg8 en pg 7 -> type composite |
Date: | 2005-10-17 20:57:35 |
Message-ID: | 4354103F.30206@laposte.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
claude C. a écrit :
> Re bonjour.
> Voici la question suivante pour tenter de passer de postgresql 8 en
> postgresql 7.4
>
> J'ai à de nombreuses reprises le bout de code suivant (ou similaire) :
>
> declare
> un_paquet_cadeau cadeau;
>
> begin
> .....
> un_paquet_cadeau_offert := row ( cadeau_surprise.id,
>
> cadeau_surprise.description,
> offrant.prenom);
> return next un_paquet_cadeau_offert;
> ....
> return;
>
> Quelle structure de langage dois-je utiliser pour pouvoir assembler
> les 2 éléments "cadeau_surprise" et "offrant" afin d'avoir, en sortie,
> un set de type cadeau ?
Hello,
dans le fichier l'example ci-joint, teste sous PostgreSQL 7.4.7, une
fonction qui contruit le type composite souhaite
est utilisee et elle est appelee pour contruire chaque ligne qui sera
retournee.
En gros
* faire une fonction
CREATE FUNCTION construit_cadeau (INT,TEXT,TEXT) RETURNS cadeau
AS '
DECLARE
v_id ALIAS FOR $1;
v_description ALIAS FOR $2;
v_prenom ALIAS FOR $3;
v_cadeau_tmp cadeau;
BEGIN
v_cadeau_tmp.id := v_id;
v_cadeau_tmp.description := v_description;
v_cadeau_tmp.prenom := v_prenom;
RETURN cadeau_tmp;
END
' LANGUAGE 'plpgsql';
*
DECLARE
un_paquet_cadeau cadeau;
...
BEGIN
...
SELECT *
INTO un_paquet_cadeau
FROM construit_cadeau (cadeau_surprise.id,
cadeau_surprise.description,
offrant.prenom);
RETURN NEXT un_paquet_cadeau;
...
RETURN;
END
Thomas
>
> Merci d'avance pour votre aide me sortant de ce bourbier.
>
> Claude C.
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
>
Attachment | Content-Type | Size |
---|---|---|
livre_2.sql | text/x-sql | 1.0 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | andy petrella | 2005-10-18 12:46:27 | Fwd: numeric en C |
Previous Message | thomas.silvi | 2005-10-17 19:45:24 | Re: passage PG 8 à PG 7 |