ya mira esto quedo así
Código SQL:
Ver originalCREATE OR REPLACE FUNCTION prueba(idTaller INTEGER, aliasCompania text,OUT VehiculosTaller BIGINT,OUT CapacidadTaller SMALLINT) RETURNS SETOF RECORD AS $BODY$
DECLARE
use_sql TEXT;
BEGIN
use_sql := 'select count(VEHICULOS.id_vehiculo)as VehiculosTaller,locales.capacidad_instalada as CapacidadTaller from SINIESTROS,COMPANIAS,VEHICULOS,LOCALES,TALLERES
where SINIESTROS.id_compania = COMPANIAS.id_compania and SINIESTROS.id_vehiculo = VEHICULOS.id_vehiculo and VEHICULOS.id_estado <> 12 and
VEHICULOS.id_local = LOCALES.id_local and LOCALES.id_taller = TALLERES.id_taller and TALLERES.id_taller = '||idTaller||' and
COMPANIAS.alias = upper('||aliasCompania||') group by locales.capacidad_instalada UNION ALL
select count(VEHICULOS.id_vehiculo),locales.capacidad_instalada from SINIESTROS,COMPANIAS,VEHICULOS,LOCALES,TALLERES
where SINIESTROS.id_compania = COMPANIAS.id_compania and SINIESTROS.id_vehiculo = VEHICULOS.id_vehiculo and VEHICULOS.id_estado <> 12 and
VEHICULOS.id_local = LOCALES.id_local and LOCALES.id_taller = TALLERES.id_taller and TALLERES.id_taller = '||idTaller||' and COMPANIAS.alias <> upper('||aliasCompania||')
group by locales.capacidad_instalada';
raise notice 'Running query: %', use_sql;
RETURN QUERY EXECUTE use_sql;
END;
$BODY$
LANGUAGE plpgsql;
SELECT * FROM prueba (7,'xxx');
pero me da un error me sale lo siguiente
ERROR: column "xxx" does not exist
LINE 4: COMPANIAS.alias = upper(xxx)
siendo que el xxx es un valor de un alias que existe en la bd y no es una columna entonces no se por que me da ese error