Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/10/2009, 14:44
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Problemas con el update helpppp

chimaria...
No es posible recorrer la variable sql que tiene un update con un for.

Si requieres hacer primero un update y luego consultarlo prueba algo como:
Código sql:
Ver original
  1. CREATE OR REPLACE FUNCTION act_concepto1(idsede INTEGER, idconcepto INTEGER,clase INTEGER)
  2. RETURNS SETOF conceptos AS
  3. $BODY$
  4. DECLARE
  5.  
  6. fila conceptos%rowtype;
  7. SQL CHARACTER VARYING;
  8. sql2 CHARACTER VARYING;
  9. BEGIN
  10. SQL = 'UPDATE CONCEPTOS SET idsede = idsede,
  11. idconcepto = idconcepto,
  12. clase    = clase
  13.  
  14. WHERE idconcepto like ''%' || ltrim(rtrim(idconcepto)) || '%''';
  15. EXECUTE SQL;
  16. sql2 = 'select *from CONCEPTOS WHERE idconcepto like ''%' || ltrim(rtrim(idconcepto)) || '%''';
  17.  
  18. FOR fila IN EXECUTE sql2
  19. LOOP
  20. RETURN NEXT fila;
  21. END LOOP;
  22. RETURN;
  23. END;
  24. $BODY$
  25. LANGUAGE 'plpgsql' VOLATILE;
  26. ALTER FUNCTION act_concepto1(idsede INTEGER, idconcepto INTEGER,clase INTEGER) OWNER TO postgres;

También deberías concatenar laS VARIABLES CLASE e idsede
__________________
Without data, You are another person with an opinion.
W. Edwads Deming