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
