RE: Fwd: Error 42601 al crear una funcion

From: "Ricardo Martin Gomez" <rimartingomez(at)hotmail(dot)com>
To: jairosll(at)gmail(dot)com, pgsql-es-ayuda(at)postgresql(dot)org
Subject: RE: Fwd: Error 42601 al crear una funcion
Date: 2007-03-13 20:03:24
Message-ID: BAY111-F10B4E8F03E78A6A7A16FEEA37C0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

bueno un buen ejemplo podria concatenar ambas datos a fines que que puedan
ser uno solo para ingresarlo. otra es que pongas dos variables en el into.
la opcion de rowtype nunca la hen probado

Saludos
Martin.

>From: "Jairo Sánchez" <jairosll(at)gmail(dot)com>
>To: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
>Subject: Fwd: [pgsql-es-ayuda] Error 42601 al crear una funcion
>Date: Mon, 12 Mar 2007 11:47:27 -0500
>
>---------- Forwarded message ----------
>From: Jairo Sánchez <jairosll(at)gmail(dot)com>
>Date: Mar 12, 2007 11:42 AM
>Subject: Re: [pgsql-es-ayuda] Error 42601 al crear una funcion
>To: Miguel Bernilla Sánchez <mbernilla(at)sedapal(dot)com(dot)pe>
>
>
>On 3/12/07, Miguel Bernilla Sánchez <mbernilla(at)sedapal(dot)com(dot)pe> wrote:
>>
>>
>>============
>>Con fecha Lunes, 12 de Marzo de 2007, 10:20:06 a.m., escribió:
>>
>> > Hola todos,
>>
>> > necesito una ayuda para vislumbrar un error de sintaxis el cual no
>>logro ver.
>>
>> > Esta es la funcion que estoy creando:
>> > CREATE FUNCTION cargausu(
>> > tb text,
>> > c1 text,
>> > c2 text,
>> > c3 text,
>> > c4 text,
>> > c5 text,
>> > c6 text,
>> > c7 text,
>> > c8 text,
>> > c9 text,
>> > c10 text,
>> > c11 text,
>> > c12 text,
>> > c13 text,
>> > c14 text,
>> > c16 text,
>> > c17 text,
>> > c18 text,
>> > c19 text,
>> > c20 text
>> > ) RETURNS text AS
>> > $$
>> > DECLARE
>> > tabla ALIAS FOR $1;
>> > edad ALIAS FOR $8;
>> > duplicado RECORD;
>>
>>
>> > BEGIN
>> >
>> > IF tabla == 'US' THEN
>> > SELECT consecutivo,edad INTO duplicado FROM usuarios
>>where
>>
>>Estas seleccionado "consecutivo,edad" (dos campos) y pretendes
>>guardarlo en una sola variable "INTO duplicado"...
>>
>Hum! pero yo defino duplicados como RECORD no se supone que el toma el
>registro completo y no solo un campo.
>
>Debería cambiarlo a ROWTYPE? es que necesito los dos campos, que me
>sugieren?
>
>Gracias
>
>>
>> > ( codentadm = $2 AND
>> > tipid = $3 AND
>> > numid = $4 AND
>> > tipusu = $5 AND
>> > tipafi = $6 AND
>> > codocu = $7 AND
>> > uniedad = $9 AND
>> > sexo = $10 AND
>> > coddep = $11 AND
>> > codmun = $12 AND
>> > zona = $13
>> > );
>> > IF found THEN
>> > IF (edad-duplicado.edad =< 1 AND edad-duplicado.edad =>
>>1) THEN
>> > INSERT INTO
>> >
>>errores(codentadm,coddep,codmun,tiperr,criterio,fechaval,regnum,trimanio)
>> > VALUES('$2','$11','$12','El Registro
>>presenta
>> > Duplicidad','D01',date(now()),duplicado.consecutivo,'$13');
>> >
>> > RETURN "Error";
>> > END IF;
>> > END IF;
>> > END IF;
>> > BEGIN
>> > INSERT INTO usuarios
>> >
>>(codentadm,tipid,numid,tipusu,tipafi,codocu,edad,uniedad,sexo,coddep,codmun,zona,trimanio)
>> > VALUES
>> >
>>('$2','$3','$4','$5','$6','$7','$8','$9','$10','$11','$12','$13','$14');
>> > RETURN "OK";
>> > EXCEPTION WHEN unique_violation THEN
>> > RETURN "Se totio";
>> > -- do nothing
>> > END;
>>
>> > END;
>> > $$
>> > LANGUAGE plpgsql;
>>
>> > y el error que me entrega es:
>> > ERROR: error de sintaxis en o cerca de «$1»
>> > Estado SQL:42601
>> > Contexto:SQL statement in PL/PgSQL function "cargausu" near line 34
>>
>> > he remplazado, quitado, cambiado de todo y en todos lados pero no
>> > logro encontrarlo.
>>
>> > Agradezco su ayuda.
>>
>> > JSLL
>>
>> > ---------------------------(fin del
>> > mensaje)---------------------------
>> > TIP 10: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
>>
>>
>>
>
>---------------------------(fin del mensaje)---------------------------
>TIP 5: ¿Has leído nuestro extenso FAQ?
>
> http://www.postgresql.org/files/documentation/faqs/FAQ.html

_________________________________________________________________
Grandes éxitos, superhéroes, imitaciones, cine y TV...
http://es.msn.kiwee.com/ Lo mejor para tu móvil.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Douglas A. Escobar 2007-03-13 20:09:39 Rutina para cambiar parametros de ODBC
Previous Message Ever Daniel Barreto Rojas 2007-03-13 20:02:17 column doesn't exist