João pq nao faz um select into variavel count(*)from  pg_user where
usename = ??

e verifica com um if??



> Olá, pessoal
>
> Tudo bem com vocês? Ando meio sumido pela correria, mas achei um problema
> interessante e acho legal postar aqui para discutirmos.
>
> Vamos ao problema: Estou desenvolvmendo uma function para dar permissão a
> um
> determinado usuário, porém quero fazer um tratamento de exceção caso o
> usuário não exista não gere uma mensagem de erro.
>
> Pensando logicamente minha idéia era usar o error code:
> invalid_role_specification, porém não funcionou e o mesmo não cai no
> tratamento da exceção, a única maneira de resolver foi usando:
> syntax_error_or_access_rule_violation, que para mim não faz muito sentido.
>
> Gostaria de saber se alguém já passou por algum problema similar ou tem
> alguma idéia do que pode acontecer. Foi testado nas versões 8.1.9, 8.2.7 e
> 8.3.1.
>
> Abaixo esta o código da minha function.
>
> CREATE OR REPLACE FUNCTION foo(text) RETURNS void AS $$
> BEGIN
> BEGIN
> EXECUTE 'GRANT SELECT ON teste TO ' || $1;
> EXCEPTION WHEN syntax_error_or_access_rule_violation THEN
> RAISE NOTICE 'erro';
> null;
> END;
> END;
> $$ language plpgsql;
>
> []s
>
> --
> João Paulo
> www.dextra.com.br/postgres
> PostgreSQL
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


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

Responder a