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

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

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


  • From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
  • To: btorres(at)cajanorperu(dot)com(dot)pe
  • Cc: pgsql-es-ayuda(at)postgresql(dot)org
  • Subject: Re: Existe alguna funcion que haga lo mismo que split?
  • Date: Sun, 30 Mar 2008 14:33:02 -0500
  • Message-id: <c2d9e70e0803301233r1c644badwebf5eb8bacaeb5cb(at)mail(dot)gmail(dot)com>

On Sun, Mar 30, 2008 at 1:47 PM, Brando Torres
<btorres(at)cajanorperu(dot)com(dot)pe> wrote:
> >
> > 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
> >

estas accesando de forma incorrecta el array, te adjnto en un archivo
una forma de hacerlo... quiza haya una mejor pero no la conozco...

-- 
Atentamente,
Jaime Casanova
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;
   i int;
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
       i = 1;
       Loop
       exit when codigos_area[i] is null;
           area = codigos_area[i];
           If area <> '-' Then
               Insert Into seguimiento.area_observacion values($1,area);
               if Not Found Then
                   Raise Exception '%',mensaje;
               Else
                   mensaje = 'OK';
               End If;
          End If;
          i = i + 1;
      End Loop;
   End If;
   return mensaje;
End;
$body$
Language 'plpgsql';


Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group