Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/06/2015, 06:05
dehm
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 14 años, 1 mes
Puntos: 10
Respuesta: Sustituir valores en una columna por otros de una tabla diferente

Corregidos los múltiples errores de sintaxis, la función sería:
Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION actualizar_id_mun() RETURNS void AS
  2.     $BODY$
  3.     DECLARE
  4.     x INTEGER;
  5.     BEGIN
  6.     x:=1;
  7.     WHILE (x<SELECT COUNT(*) FROM parcelas) LOOP
  8.     UPDATE parcelas SET id_municipio=(SELECT municipio.id FROM municipio WHERE municipio.nombre=parcelas.municipio) WHERE parcelas.id=x;
  9.     x:=x+1;
  10.     END LOOP;
  11.     END;
  12.     $BODY$
  13.     LANGUAGE plpgsql VOLATILE
  14.     COST 100;

Pero al ejecutarla me vuelve a dar el error de:
ERROR: more than one row returned by a subquery used as an expression
__________________
Mi calculadora en Qt