Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/10/2009, 14:35
chimaria
 
Fecha de Ingreso: marzo-2009
Mensajes: 121
Antigüedad: 15 años, 1 mes
Puntos: 1
Problemas con el update helpppp

Saludos de nuevo, aqui en lo mismo no puedo realizar el update y eso que estoy colocando solamente una instruccion en el update no estoy haciendo select ni nada de eso solo un update help..helppppppppppppppppppppppppppppp..... les muestro la parte del codigo...

-- Function: act_concepto(id_sede int4, id_concepto int4, concepto "varchar", descripcion "varchar", clase int4, tipo int4, status_convenio int4, afecta_prestaciones int4, afecta_utilidades int4, afecta_vacaciones int4, unidad int4, formula "varchar", afecta_liquidacion int4, afecta_sueldomensual int4, ingreso_mensual float8, vigente int4, asociado int4)

-- DROP FUNCTION act_concepto(id_sede int4, id_concepto int4, concepto "varchar", descripcion "varchar", clase int4, tipo int4, status_convenio int4, afecta_prestaciones int4, afecta_utilidades int4, afecta_vacaciones int4, unidad int4, formula "varchar", afecta_liquidacion int4, afecta_sueldomensual int4, ingreso_mensual float8, vigente int4, asociado int4);

CREATE OR REPLACE FUNCTION act_concepto1(idsede integer, idconcepto integer,clase integer)
RETURNS SETOF conceptos AS
$BODY$
DECLARE

fila conceptos%rowtype;
sql character varying;
BEGIN
sql = 'UPDATE CONCEPTOS SET idsede = idsede,
idconcepto = idconcepto,
clase = clase

WHERE idconcepto like ''%' || ltrim(rtrim(idconcepto)) || '%''';
execute sql;
FOR fila IN EXECUTE sql
LOOP
RETURN NEXT fila;
END LOOP;
RETURN;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION act_concepto1(idsede integer, idconcepto integer,clase integer) OWNER TO postgres;

Nada mas estoy actualizando no estoy haciendo el select y cuando lo ejecuto me da el sigiente error::

ERROR: cannot open non-SELECT query as cursor
CONTEXT: PL/pgSQL function "act_concepto1" line 12 at for over execute statement


Si me pueden ayudar se lo agradeceria