Ver Mensaje Individual
  #6 (permalink)  
Antiguo 27/10/2009, 18:18
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 manejo de comillas en PL/pgSQL

ya entendí el problema.
te pongo un ejemplo para que veas como funciona

Código sql:
Ver original
  1. pruebas=> SELECT *FROM medico;
  2.  id | nombre
  3. ----+---------
  4.   1 | daniel
  5.   2 | daniela
  6.   3 | ana
  7. (3 filas)
  8.  
  9. pruebas=> CREATE OR REPLACE FUNCTION inf_concepto_nombre(nombre text)
  10. pruebas->   RETURNS SETOF medico AS
  11. pruebas-> $BODY$
  12. pruebas$> DECLARE
  13. pruebas$>
  14. pruebas$> fila medico%rowtype;
  15. pruebas$> SQL text;
  16. pruebas$> BEGIN
  17. pruebas$> SQL = 'select id,nombre FROM medico where nombre in(' || nombre || ')'
  18. ;
  19. pruebas$>
  20. pruebas$> FOR fila IN EXECUTE SQL
  21. pruebas$> LOOP
  22. pruebas$> RETURN NEXT fila;
  23. pruebas$> END LOOP;
  24. pruebas$> RETURN;
  25. pruebas$> END;
  26. pruebas$> $BODY$
  27. pruebas->   LANGUAGE 'plpgsql' VOLATILE;
  28. CREATE FUNCTION
  29. pruebas=> SELECT *FROM inf_concepto_nombre($$'daniel','ana'$$);
  30.  id | nombre
  31. ----+--------
  32.   1 | daniel
  33.   3 | ana
  34. (2 filas)
  35.  
  36. pruebas=>

El el llamado de la función se puede valer de $$ para poder ingresar las comillas (') como parte de la cadena.

Nos cuentas como te va
__________________
Without data, You are another person with an opinion.
W. Edwads Deming