Re: Malformed function or procedure escape syntax at offset 1.

From: Wdiaz <wdiaz(at)unipamplona(dot)edu(dot)co>
To:
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Malformed function or procedure escape syntax at offset 1.
Date: 2006-09-07 00:42:02
Message-ID: 44FF6ADA.2010503@unipamplona.edu.co
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El error que me sale es le siguiente:

ERROR: record "old" is not assigned yet
DETAIL: The tuple structure of a not-yet-assigned record is indeterminate.
CONTEXT: PL/pgSQL function "f_general_e_aud_cliente" line 2 at SQL
statement
sentencia SQL: «INSERT INTO general.cliente( clie_id, "clie_nombre",
"clie_fechacambio", "clie_registradopor", "ticl_id", "clie_sigla")
VALUES ( $1 , $2 , now(), $3 , $4 , $5 )»
PL/pgSQL function "pr_general_i_cliente" line 9 at SQL statement

el campo que aparece en el error como $1 es la variable seq

Linder Poclaba escribió:
>
>
> El día 6/09/06, *Wdiaz* <wdiaz(at)unipamplona(dot)edu(dot)co
> <mailto:wdiaz(at)unipamplona(dot)edu(dot)co>> escribió:
>
> Nada sigue igual ya arregle el codigo: select into seq
> nexval('general.seq_clie_id'); por select into seq
> nextval('general.seq_clie_id');
> pero sigue le mismo problema
>
>
> No creo que salga el mismo error "no existe la función
> nexval("unknown")", lo que si puede estar mal es que estas asignando
> un integer a un variable de tipo numeric talvez sea ese tu error.
>
> las secuencias son tipo integer y numeric son utilizados para
> almacenar cantidades monetarias.
>
> Linder Poclaba escribió:
>
>
> El día 6/09/06, *Wdiaz* <wdiaz(at)unipamplona(dot)edu(dot)co
> <mailto:wdiaz(at)unipamplona(dot)edu(dot)co>> escribió:
>
> Buenas tardes lista.
>
> Tengo postgreSQL 8.1.4 sobre linux y tengo el siguiente
> procedimiento
> almacenado
>
> CREATE OR REPLACE FUNCTION general.pr_general_i_cliente("varchar",
> "varchar", "numeric", "varchar")
> RETURNS "numeric" AS
> $BODY$DECLARE
> seq NUMERIC;
>
> BEGIN
> select into seq nexval('general.seq_clie_id');
> IF NOT FOUND THEN
> RETURN NULL;
> ELSE
> INSERT INTO general.cliente ( clie_id,
> "clie_nombre",
> "clie_fechacambio",
> "clie_registradopor",
> "ticl_id",
> "clie_sigla") VALUES (seq,
> $1,
> now(),
> $2,
> $3,
> $4);
> IF NOT FOUND THEN
> RETURN NULL;
> ELSE
> RETURN seq;
> END IF;
> END IF;
> END;$BODY$
> LANGUAGE 'plpgsql' VOLATILE;
> ALTER FUNCTION general.pr_general_i_cliente("varchar", "varchar",
> "numeric", "varchar") OWNER TO ads;
>
> cuando lo ejecuto desde una clase de java me sale el siguiente
> error:
>
> org.postgresql.util.PSQLException : Malformed function or
> procedure
> escape syntax at offset 1.
>
>
> cuando lo ejecuto desde una consola select
> general.pr_general_i_cliente('WILLIAM','WDP',1,'WDP'); me sale el
> siguietne error:
>
>
> ERROR: no existe la función nexval("unknown")
>
>
> La función se llama nextval() no nexval:)
>
> HINT: Ninguna función coincide en el nombre y tipos de
> argumentos.
> Puede desear agregar conversión explícita de tipos.
> CONTEXT: sentencia SQL: «SELECT nexval('general.seq_clie_id')»
> PL/pgSQL function "pr_general_i_cliente" line 5 at select into
> variables
>
> Si alguien me puede colaborar gracias,
>
> PD: Donde puedo conseguir un manual de como hacer
> procedimientos PL
>
>
> http://www.postgresql.org/docs/8.1/interactive/plpgsql.html
> <http://www.postgresql.org/docs/8.1/interactive/plpgsql.html>
>
> --
> Cordialmente
>
> William Diaz Pabón
> Coordinador Técnico de Desarrollo
> Vicerrectoría de Gestión y Desarrollo Tecnológico
> Universidad de Pamplona
>
>
> ---------------------------(fin del
> mensaje)---------------------------
> TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
>
> http://archives.postgresql.org/pgsql-es-ayuda
>
>
>
>
> --
> Linder Poclaba Lázaro.
> Desarrollador Key Optimal Solutions - KEYOS.
> Usa Software Libre y obtiene tú libertad.
>
> ------------------------------------------------------------------------
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.405 / Virus Database: 268.12.0/439 - Release Date: 06/09/2006
>
>
>
>
> --
> Cordialmente
>
> William Diaz Pabón
> Coordinador Técnico de Desarrollo
> Vicerrectoría de Gestión y Desarrollo Tecnológico
> Universidad de Pamplona
>
>
>
>
>
> --
> Linder Poclaba Lázaro.
> Desarrollador Key Optimal Solutions - KEYOS.
> Usa Software Libre y obtiene tú libertad.
> ------------------------------------------------------------------------
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.405 / Virus Database: 268.12.0/439 - Release Date: 06/09/2006
>

--
Cordialmente

William Diaz Pabón
Coordinador Técnico de Desarrollo
Vicerrectoría de Gestión y Desarrollo Tecnológico
Universidad de Pamplona

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2006-09-07 02:57:38 Re: Malformed function or procedure escape syntax at offset 1.
Previous Message Alvaro Herrera 2006-09-06 23:16:21 Re: Insercion con funciones