Acredito que não exista limitação nos parâmetros, visto que a "pg_proc"
armazena somente os tipos dos parâmetros, e não seu limite.
Talvez precise fazer as exceções no próprio código da função mesmo..

[]'s


Em 12 de setembro de 2013 14:33, Rogério Grando <[email protected]
> escreveu:

>   Olá pessoal, boa tarde a todos!
>
> Estava fazendo alguns testes e notei um comportamento estranho.
> Quando crio uma função e limito o parâmetro de entrada, esta limitação não
> funciona.
> Crio uma função que recebe varchar(11), mas se eu passar um varchar de 12
> ou mais ele asseita, a mesma coisa para numeric.
> Isso pode provocar uma fala indesejada no sistema. Agora terei que validar
> isso na função.
> Acho que seria interessante não permitir esta situação.
> Testes em PostgreSQL versões 8.5.20 e 9.2 em Windows.
>
>
> CREATE OR REPLACE FUNCTION sp_teste(nvarchar varchar(11))
>   RETURNS character varying AS
> $BODY$
> DECLARE
> BEGIN
>   RETURN nvarchar;
> END; $BODY$
>   LANGUAGE plpgsql VOLATILE;
>
> SELECT sp_teste('12345678910111213');
>
>
> CREATE OR REPLACE FUNCTION sp_teste2(nnumeric numeric(5,2))
>   RETURNS numeric  AS
> $BODY$
> DECLARE
> BEGIN
>   RETURN nnumeric;
> END; $BODY$
>   LANGUAGE plpgsql VOLATILE;
>
> SELECT * FROM sp_teste2(145214.52234);
>
> Abraço a todos.
>
>
> _______________________________________________
> 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