Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/10/2009, 08:51
Avatar de webness
webness
 
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Problemas con el manejo de comillas en PL/pgSQL

CREATE OR REPLACE FUNCTION p_blocks(varchar, varchar,varchar) RETURNS SETOF type_block AS $BODY$
DECLARE
query_result type_block;

BEGIN
FOR query_result IN
select p.nombre_pais,
r.nombre AS region,
c.nombre AS ciudad,
l.nom_localidad,
m.nivsocio,
count(m.id) as total
from servcon_manzanas m

INNER JOIN servcon_localidades l ON (m.coddane = l.cod_dane AND m.localidad = l.cod_localidad AND l.cod_localidad IN ($1))
INNER JOIN ciudades c ON (m.coddane = c.coddane)
INNER JOIN servcon_regiones r ON (m.codregion = r.cod_region)
INNER JOIN servcon_paises p ON (m.codpais = p.codigo)

where m.coddane = $3 and
m.localidad IN ($1) and
m.nivsocio in ($2)
group by l.nom_localidad, m.nivsocio,c.nombre,r.nombre,p.nombre_pais
order by m.nivsocio,l.nom_localidad

LOOP RETURN NEXT query_result;
END LOOP;

return;
END $BODY$
LANGUAGE plpgsql;


lo llamo asi:
$db->execute("select * from p_blocks(' ''11","01","02","04","06","8","12","13","15" ', ' "2",''3","2","6","4","5",'11001')");