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

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 (view raw or flat)
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

pgsql-es-ayuda by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group