Em 10/11/14, Fernando Cambiaghi<[email protected]> escreveu:
> Boa tarde Pessoal.
>
> Estou criando uma função no Banco para alterar o nome da aplicação depois
> de conectado ( Uma gambiarra por não saber fazer isso na string de conexão
> do ODBC ), porém, a função não está executando como deveria ( ou como eu
> gostaria )
>
> A função executa o comando SET application_name, porém, ao invés de
> atribuir o valor da variável, está atribuindo o nome dela para a aplicação.
>
>
> Estou executando: SELECT * FROM set_app_name( 'TL' );
>
> Resultado:
> SELECT * FROM _stat_activity; = 18849;"bd0563";3968;16393;"dbo";"p_app"
> .....
>
> -- Função para alterar o nome da aplicação após conectado ao banco de
> dados.
> CREATE OR REPLACE FUNCTION set_app_name(p_app character varying)
>   RETURNS BOOLEAN AS
> $BODY$
>
> BEGIN
> SET application_name = p_app;
>
> RETURN TRUE;
> END;
> $BODY$
>   LANGUAGE plpgsql;
>
> Estou fazendo isso porque quero que determinada função não seja executada
> caso a aplicação seja a TL. ( ou algumas outras )
>
> Já agradeço antecipadamente a ajuda.
>


Use EXECUTE.
http://www.postgresql.org/docs/current/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN

Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a