Skip site navigation (1) Skip section navigation (2)

Re: Erreur sur une fonction avec un argument de type (integer, [numeric,numeric]

From: Marc Cousin <cousinmarc(at)gmail(dot)com>
To: pgsql-fr-generale(at)postgresql(dot)org
Cc: "GIUSEFFI Marie" <marie(dot)giuseffi(at)cea(dot)fr>
Subject: Re: Erreur sur une fonction avec un argument de type (integer, [numeric,numeric]
Date: 2010-08-25 14:03:31
Message-ID: 201008251603.32076.cousinmarc@gmail.com (view raw or flat)
Thread:
Lists: pgsql-fr-generale
The Wednesday 25 August 2010 14:33:46, GIUSEFFI Marie wrote :
> Bonjour,
> 
> J'aimerais créer une fonction avec comme argument un index et un tableau contenant deux éléments x et y.
> 
> La fonction (voir ci-dessous) est bien acceptée par postgre (8.4.4 ss windowsXP) mais dès que j'essaye de l'appeler, un message d'erreur m'indique que la fonction ne correspond pas au nom donné et aux types d'arguments.
> 
> Si quelqu'un a une idée sur comment passer les arguments à la fonction ?
> 
> Cordialement
> 
> Marie
> 
>  
> 
> DROP TYPE IF EXISTS tab_abscisse CASCADE;
> 
> CREATE TYPE tab_abscisse AS (
> 
>                                x             numeric,
> 
>                                y             numeric
> 
> );
> 
> CREATE OR REPLACE FUNCTION fct_a(
> 
>                                id_tab                   integer,
> 
>                                tab_abs               tab_abscisse [] )
> 
>                 RETURNS            integer AS $$
> 
>                 
> 
>                 BEGIN   
> 
>                 RETURN 1;
> 
> END;
> 
> $$ LANGUAGE plpgsql;
> 
>  
> 
>  
> 
> SELECT fct_a(1, ARRAY[[1.0,2.0], [3.0,4.0]] ) AS answer;
> 
> Ou
> 
> SELECT fct_a(1, ARRAY[ARRAY[1,2], ARRAY[3,4]] ) AS answer;
> 
>  
> 
> ERREUR:  la fonction fct_a(integer, numeric[]) n'existe pas
> 
> LINE 2: SELECT fct_a(1, ARRAY[[1.0,2.0], [3.0,4.0]] ) AS answer;

La bonne syntaxe :

SELECT fct_a(1, ARRAY[ (1.0,2.0)::tab_abscisse, (3.0,4.0)::tab_abscisse] ) AS answer;

Il attend un tableau de tab_abscisse. Ce qui n'est pas exactement la même chose qu'un tableau à deux dimensions de numériques.

In response to

pgsql-fr-generale by date

Next:From: damien clochardDate: 2010-09-02 08:55:32
Subject: PG Day Europe 2010 : Appel à Conférenciers
Previous:From: GIUSEFFI MarieDate: 2010-08-25 12:33:46
Subject: Erreur sur une fonction avec un argument de type (integer, [numeric,numeric]

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group