Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/04/2010, 08:53
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 11 meses
Puntos: 360
Respuesta: Problema con cadena

consejo calakra

Veo que cuando abres el cuerpo de la función lo haces con comillas simples.

returns as tipodato '
declare


Aunque esto es sintacticamente valido, es muy complicado manejar el uso indiscriminado de comillas simples cuando las requieres dentro del cuerpo. Por que tienes que validar que la comilla que abras, no cierre la comilla que requieres dentro del cuerpo.

Para esto se puede utilizar de la siguiente forma:

Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION nombre_funcion()
  2.   RETURNS INTEGER AS
  3. $BODY$
  4. DECLARE
  5. variable INTEGER;
  6. BEGIN
  7. variable := 5;
  8. RETURN variable;
  9. END;
  10. $BODY$
  11.   LANGUAGE 'plpgsql' VOLATILE

haciendo uso de $BODY$ como delimitador del cuerpo de la función, puedes hacer uso de sentencias como:
auxcab:='SELECT'; en vez de auxcab:=''SELECT'';

Lo que hará mucho mas limpio tu codigo. Es mas, creo que el problema que estas teniendo lo están generando las comillas simples que no se cierran adecuadamente.

revisalo, pruebalo y cuentanos como te va.


saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming