Ver Mensaje Individual
  #7 (permalink)  
Antiguo 28/10/2009, 08:47
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

BUENO TRANSFORME MI PROCEDEMIENTO ALMACENADO A ESTO:

CREATE OR REPLACE FUNCTION p_get_blocks_count_co(integer, varchar,varchar,varchar) RETURNS SETOF type_block AS $BODY$
DECLARE
filter ALIAS FOR $1;
locales ALIAS FOR $2;
city ALIAS FOR $3;
socioeconomic ALIAS FOR $4;
query_result type_block;
BEGIN
IF filter = 1 THEN
FOR query_result IN
SELECT *
FROM conteo_manzanas_localidad_co
WHERE locale_code IN (' | locales | ') AND
city_code = ' | city | ' AND
socioeconomic_status IN (' | socioeconomic | ')

LOOP RETURN NEXT query_result;
END LOOP;
ELSE
FOR query_result IN
SELECT *
FROM conteo_manzanas_barrios_co
WHERE locale_code IN (' | locales | ') AND
city_code = ' | city | ' AND
socioeconomic_status IN (' | socioeconomic | ')

LOOP RETURN NEXT query_result;
END LOOP;
END IF;
RETURN;
END $BODY$
LANGUAGE plpgsql;


Y EL LLAMADO LO ESTOY HACIENDO DE ESTA FORMA:

SELECT *
FROM get_blocks_count_co(1,$$'11','01','02','04','06',' 8','12','13','15'$$,'11001',$$'3','2','6','4','5'$ $)


PERO ME GENERA EL SIGUIENTE ERROR:

Error de SQL:

ERROR: function get_blocks_count_co(integer, "unknown", "unknown", "unknown") does not exist
HINT: No function matches the given name and argument types. You may need to add explicit type casts.