Compreendido Matheus.
No Delphi utilizo isso também.
Na realidade, era uma dúvida que eu tinha, pois me deparei com ela,
principalmente, quando se vá criar/aterar funções, derrepente, está lá, só
porque uma letrinha/parametro está diferente do original.
Mas não vejo com maus olhos, mas só com alerta de estar bem atento e tirar
vantagens disso.
Abraços.


Em 8 de outubro de 2013 13:45, Matheus de Oliveira <
[email protected]> escreveu:

>
> 2013/10/8 »» Thiago Pedro «« <[email protected]>
>
>> Estou começando minha caminhada no PostgreSQL.
>> Minha experiência é no SQL Server e por lá Procedures/Function
>> independentes de Parâmetros In/Out, não podem ser duplicados.
>>
>> Alguém pode me explicar o motivo de que no PostgreSql seja possível ?
>>
>>
> A resposta curta seria: porque quiseram fazer assim... =D
>
> Mas claro, o fato é que o PostgreSQL é considerado um banco de dados *
> Objeto-*Relacional, isso significa que ele aceita outras coisas além de
> tipos e funções convencionais, como:
>
> * Arrays
> * Tipos de intervalos
> * Operadores de usuário
> * Sobrecarga de operadores
> * Sobrecarga de funções (o caso)
> * etc...
>
> A funcionalidade em questão é a sobrecarga de funções (veja [1] para mais
> detalhes), o que diz que uma função não é determinada somente pelo seu
> nome, mas sim pelo nome e parâmetros (quantidade de parâmetros e tipos de
> cada um). Já vi pessoal vindo do MS SQL Server que acha que isso é ruim,
> mas na verdade, se bem utilizado, é uma funcionalidade fantástica. Com ela
> você pode criar funções de mesmo nome, mas que com parâmetros diferentes
> tenha um resultado (até mesmo de tipos) diferentes também. Claro, quando eu
> digo bem usada, eu quero dizer que só crie funções de mesmo nome se a
> semântica delas forem as mesmas, se não vira bagunça.
>
> Vale lembrar que é exatamente o mesmo comportamento presente nas
> linguagens com orientação a objetos, como C++, Java, C#, etc...
>
> [1] http://www.postgresql.org/docs/9.1/static/xfunc-overload.html
>
> Atenciosamente,
> --
> Matheus de Oliveira
> Analista de Banco de Dados
> Dextra Sistemas - MPS.Br nível F!
> www.dextra.com.br/postgres
>
>
> _______________________________________________
> 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