Overload em PL/SQL

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Tinho
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 318
Registrado em: Seg, 16 Nov 2009 4:50 pm
Localização: São Paulo - SP

Caros companheiros,

Analisando alguns objetos me deparei com assinaturas de procedures e functions identicas dentro das packages, mudando apenas os conjuntos de parametros.

Conversando com outros analistas, me informaram se tratar de sobreposição/overload. Como se fossem métodos em orientação à objetos.

Particularmente eu não sabia que esta técnica era possível em uma linguagem procedural estrutura como o PL/SQL.

Por isso gostaria de saber dos colegas, se esta é uma prática recomendada, segura e confiável.

Att.,
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Sim, é igual ao java.
O programa vai optar qual é a procedure/function baseado nos parâmetros que você está passando.
Pode ficar tranquilo que funciona.
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Além do mero OVERLOAD que o plsql faz tranquilamente,
Além de criar procedures em outras linguagens (quando raramente o plsql puro não atende),
você também pode trabalhar orientado a objetos no plsql:

http://www.tutorialspoint.com/plsql/pls ... iented.htm
Avatar do usuário
fbifabio
Moderador
Moderador
Mensagens: 199
Registrado em: Ter, 22 Fev 2011 1:51 pm
Localização: São Paulo - SP
Contato:
Fábio Prado
www.fabioprado.net

É importante ressaltar que além da sobrecarga, ao utilizar packages podemos aplicar vários recursos que existem em POO, tais como:

- Encapsulamento;
- Procedures ou functions públicas e privadas;
- Blocos de inicialização (equivalente ao construtor de uma classe).

[]s
Tinho
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 318
Registrado em: Seg, 16 Nov 2009 4:50 pm
Localização: São Paulo - SP

Eu já andei estudando e até apliquei alguns conceitos de objetos em banco de dados (objeto-relacional), embora eu acho que haja uma discrepância entre a utilização deste conceito em relação a modelagem "tradicional", pois se você cria um objeto encadeados ou até mesmo multivalorados e gera outros a partir desses modelos, como ficaria a representação no diagrama?

Mas a minha dúvida aqui era se, a sobrecarga era uma boa prática ou não, pois me causou estranheza no primeiro quando eu a vi, pois se você tem um objeto do mesmo tipo com duas chamadas parecidas mudando apenas o conjunto de parâmetros de entrada, achei que pudesse causar confusão (como foi o meu caso). Mas entendendo isso, não vejo maiores problemas.

Agradeço a opinião e a participação de todos.

Abçs.,
Responder
  • Informação