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
