Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/07/2010, 14:22
Dantalian
 
Fecha de Ingreso: abril-2010
Mensajes: 49
Antigüedad: 14 años
Puntos: 0
Pregunta Problema con sentencias sql

Hola señores.
Quisiera saber como establecer parámetros en una consulta sql, yo normalmente uso la siguiente sintaxis:

Código HTML:
-- Function: pr_r_report(codigo text, tabla text)

-- DROP FUNCTION pr_r_report(text, text);

CREATE OR REPLACE FUNCTION pr_r_report(text, text)
  RETURNS SETOF count AS
$BODY$DECLARE
	registros count;
BEGIN
	--execute 'delete from rep_alta';
	FOR registros IN EXECUTE 'select count(*) from ' || quote_literal(tabla) || ' where idalta=' ||  quote_literal(codigo) loop
	return next registros;
end loop;
return;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION pr_r_report(text, text) OWNER TO postgres;
Pero al ejecutarse esta función por ejemplo con estos valores

Código HTML:
select * from  pr_r_report1('4','altadetalle')
La consulta se ejecuta de la siguiente manera

Código HTML:
select count(*) from 'altadetalle' where altadetalle='4'
Emitiéndose un error. ¿Hay alguna otra manera de establecer los parámetros sin necesidad de utilizar quote_literal? Me sería muy satisfactoria su ayuda, gracias.