Re: update ... current of

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Juan Carlos Barranco de Paz <jcb(at)greccosoft(dot)es>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: update ... current of
Date: 2008-06-17 19:01:46
Message-ID: 20080617190146.GD10140@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Juan Carlos Barranco de Paz escribió:
> Hola , he instalado la 8.3, estoy intentando hacer un update a través de un
> cursor, nueva característica que incorpora esta versión.
>
> Ya he conseguido que no me de error a la hora de cargar, pero si me da a la
> hora de ejecutar.
>
> Este es el error
>
> ERROR: el cursor «<unnamed portal 1>» no es un recorrido simplemente
> actualizable de la tabla «dw21vent»

Hmm, hay que reconocer que la traducción es bastante rara. Estoy
abierto a mejores sugerencias. El original dice
cursor "unnamed portal 1" is not a simply updatable scan of table "dw21vent"

Quizás baste con ponerle comillas, o sea algo así:
ERROR: el cursor «<unnamed portal 1>» no es un «recorrido simplemente actualizable» de la tabla «dw21vent»

Lo que quiere decir es que el UPDATE WHERE CURRENT OF sólo se puede usar
cuando el cursor es "simple". Esta medida de simplicidad está definida
por el estándar (creo). En todo caso lo puedes ver acá:

http://git.postgresql.org/?p=postgresql.git;a=blob;f=src/backend/executor/execCurrent.c;h=d15910fa2e3d4b8892899964902ee599fd97b496;hb=REL8_3_STABLE#l171

> FETCH dw0_0012_1_c INTO dw21;
> EXIT WHEN NOT FOUND;
>
> update dw21vent set beneficio_ult = beneficio_ult + 1
> where current of dw0_0012_1_c;

Creo que debería funcionar si reemplazas el WHERE CURRENT OF por un
WHERE de las columnas que componen la llave primaria de la tabla.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gabriel Hermes Colina Zambra 2008-06-17 20:56:22 Re: Alterar tabla
Previous Message Juan Carlos Barranco de Paz 2008-06-17 17:56:44 update ... current of