Vinicius,
Você tem q concatenar em uma string e executá-la com EXECUTE.
Algo assim:
sSql := 'SELECT INTO RsDis cidade, estado, bairro, logradouro
FROM ' || cidades_pr || ' where .....
EXECUTE sSql;
Essa é a unica forma de alterar a tabela que vai executar.
SDS
Evandro
Vinicius wrote:
> Ola pessoal...
>
> Tenho uma funcao que preciso passar pro sql qual tabela quero usar,, mas nao
> estou conseguindo fazer,, segue a funcao abaixo:
>
> onde esta "cidades_pr" qro substiruir pelo parametro "tabela"
>
> CREATE OR REPLACE FUNCTION "public"."pega_logradouro" (lat varchar, long
> varchar, tabela varchar) RETURNS varchar AS
> $body$
> declare
> RsDis Record;
> begin
>
> SELECT INTO RsDis cidade, estado, bairro, logradouro
> FROM cidades_pr
> where
> Distance(the_geom, GeomFromText( 'POINT(' || $2 || ' ' || $1 ||
> ')', -1 ))*1 = (select Distance(the_geom, GeomFromText( 'POINT(' || $2 || '
> ' || $1 || ')', -1 ))*1 as dif from cidades_pr where Distance(the_geom,
> GeomFromText( 'POINT(' || $2 || ' ' || $1 || ')', -1 ))*1 <= 0.3 order by
> dif limit 1 )
> limit 1;
>
> RETURN RsDis.cidade || ',' || RsDis.estado || ',' || RsDis.bairro ||
> ',' || RsDis.logradouro;
>
> end;
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral