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

Bueno, muchas gracias por tu ayuda, creo al final de cuentas mi error era que no lei a cabalidad tu ejemplo: El resultado final fue:

Código PHP:
CREATE OR REPLACE FUNCTION p_get_blocks_count(integervarchar,varchar,varchar,varcharRETURNS SETOF type_block_count AS $BODY$
DECLARE 
    
filter    ALIAS FOR $1;  
    list    
ALIAS FOR $2;
    
city      ALIAS FOR $3;
    
socioeconomic    ALIAS FOR $4;
    
country ALIAS FOR $5;
    
    
sql_query varchar;
    
query_result type_block_count;
BEGIN
    
IF filter 1 THEN
        sql_query 
:= 'SELECT    *
                       FROM    conteo_manzanas_localidad_'
||country||'
                       WHERE   locale_code IN ('
||list||') AND 
                               city_code = '
||city||' AND
                               socioeconomic_status IN ('
||socioeconomic||')';
        FOR 
query_result IN EXECUTE sql_query LOOP RETURN NEXT query_result;
        
END LOOP;            
    ELSE
        
sql_query := 'SELECT    *
                       FROM    conteo_manzanas_barrios_'
||country||'
                       WHERE   locale_code IN ('
||list||') AND 
                               city_code = '
||city||' AND
                               socioeconomic_status IN ('
||socioeconomic||')';
        FOR 
query_result IN EXECUTE sql_query LOOP RETURN NEXT query_result;
        
END LOOP;                
        
END IF;
    RETURN;
END $BODY$
LANGUAGE plpgsql
EL LLAMADO FINAL A LA FUNCION FUE:

Código PHP:
SELECT    *
FROM     p_get_blocks_count(1,$$'11','01','02','04','06','8','12','13','15'$$::varchar,'11001',$$'3','2','6','4','5'$$::varchar,'co'
Y EL TIPO QUE CREE FUE ESTE:

Código PHP:
 CREATE TYPE type_block_count AS
(
country_name varchar,
region_name varchar,
city_name varchar,
locale_name varchar,
locale_code varchar,
socioeconomic_status varchar,
city_code varchar,
total integer
MUCHAS GRACIAS POR TUS APORTES APRENDI BASTANTE.