Re: Problemas con el valor actual de una secuencia dentro de una función

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Carlos Chávez Z(dot) <cchavez(at)oxyman(dot)com(dot)pe>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Problemas con el valor actual de una secuencia dentro de una función
Date: 2007-06-07 15:07:23
Message-ID: 20070607150722.GI3664@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

"Carlos Chávez Z." escribió:

> Bueno mi problema es que al ejecutar por primera vez la función no hay
> ningún problema, pero al volver a ejecutar nuevamente la función me da
> como resultado el siguiente error:
>
> ERROR: relation with OID 34255 does not exist
> SQL state: 42P01
> Context: SQL statement "update tdetpermisos set percodigo= (select
> currval('rrhh.permisos_percodigo_seq'))"
> PL/pgSQL function "fncgrabapermisos" line 11 at SQL statement

Hola, el problema no tiene nada que ver con la secuencia sino con la
tabla temporal. Este es un bug de Postgres, conocido y corregido en la
version 8.3 (aun por salir). En el intertanto, puedes poner el UPDATE
como una cadena que envias con EXECUTE. (Todos los usos de tablas
temporales en funciones deben ser asi).

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2007-06-07 15:09:10 Re: firma tip de la lista.
Previous Message Alvaro Herrera 2007-06-07 15:04:29 Re: Seguimiento de Store!