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

Re: Existe alguna funcion que haga lo mismo que split?

From: Brando Torres <btorres(at)cajanorperu(dot)com(dot)pe>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Existe alguna funcion que haga lo mismo que split?
Date: 2008-03-30 18:11:57
Message-ID: 47EFD7ED.5000109@cajanorperu.com.pe (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Marcos Saldivar escribi├│:
> 2008/3/30, Brando Torres <btorres(at)cajanorperu(dot)com(dot)pe>:
>   
>> Hola Amigos, bueno por aqui otra vez con un consulta, me gustaria saber
>>  si existe alguna funcion que haga el mismo proceso que hace split en
>>  java. Lo que pasa es que estoy trabajando una Funcion en el cual le
>>  estoy mandando como parametro de entrada una cadena de la siguiente
>>  manera: "xxx|yyyy|zzzzz". y obviamente solo kisiera obtener los caracteres.
>>
>>  Gracias y Saludos.
>>     
>
>
> dberp=# select string_to_array('xxx|yyy|zzz','|');
>  string_to_array
> -----------------
>  {xxx,yyy,zzz}
> (1 fila)
>
> http://www.postgresql.org/docs/8.3/interactive/functions-array.html
>
> Saludos.-
> --
> TIP 6: ┬┐Has buscado en los archivos de nuestra lista de correo?
>                http://archives.postgresql.org/pgsql-es-ayuda
>
>   
Hola Marcos, te agradezco el tiempo para responder. Mira tengo esta 
funcion no se en que me estoy equivocando quizas me pudieras ayudar

Create or Replace Function 
seguimiento.inserta_observacion(int,char,char,varchar,char,text,varchar,varchar,text,varchar,varchar)
Returns Text As
$body$
Declare
    mensaje varchar(500);   
    codigos_area varchar Array[6];
    area varchar;
Begin  
    Insert Into seguimiento.observaciones 
Values($1,$2,$3,$4,$5,$6,$7,$8,$9,$10);
    If Not Found Then
        Raise Exception '%',mensaje;
    Else
        Select string_to_array($11,'|') Into codigos_area;
        For area in codigos_area
        Loop
            If area <> '-' Then
                Insert Into seguimiento.area_observacion($1,area);
                if Not Found Then
                    Raise Exception '%',mensaje;
                Else
                    mensaje = 'OK';
                End If;
            End If;
        End Loop;
    End If;
    return mensaje;
End;
$body$
Language 'plpgsql';

Estoy teniendo el sigueinte error:

ERROR:  syntax error at or near "$1"
LINE 1:   $1
          ^
QUERY:    $1
CONTEXT:  SQL statement in PL/PgSQL function "inserta_observacion" near 
line 12

********** Error **********

ERROR: syntax error at or near "$1"
SQL state: 42601
Context: SQL statement in PL/PgSQL function "inserta_observacion" near 
line 12

La idea de esta funcion es insertar en una tabla cabezera y luego en una 
detalle y devolver un texto OK y se realizo la insercion de forma correcta.

Gracias.




In response to

Responses

pgsql-es-ayuda by date

Next:From: Brando TorresDate: 2008-03-30 18:47:48
Subject: Re: Existe alguna funcion que haga lo mismo que split?
Previous:From: Marcos SaldivarDate: 2008-03-30 16:56:27
Subject: Re: Existe alguna funcion que haga lo mismo que split?

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