Os pacotes PL/SQL permitem agrupar tipos PL/SQL, variáveis, estruturas de dados, exceções e subprogramas relacionados. Estes pacotes
Anão podem ter subprogramas com o mesmo nome, mesmo que esses subprogramas utilizem parâmetros diferentes.
Bdevem ter todas as estruturas públicas declaradas nos seus corpos, e as privadas, nas suas especificações.
Cnão podem ser compartilhados com outras aplicações após terem sido criados e compilados.
Dpermitem que o servidor Oracle leia apenas um objeto na memória de cada vez.
Edevem ter uma especificação, mas o corpo é opcional.
Revelar gabarito e comentário▾
GabaritoE — devem ter uma especificação, mas o corpo é opcional.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
PL/SQL Packages
Gabarito: letra E. Pacotes PL/SQL possuem uma especificação obrigatória (declarações públicas) e um corpo opcional (implementação de subprogramas e declarações privadas). Essa estrutura é fundamental para o encapsulamento e reuso. As demais alternativas contêm erros comuns sobre sobrecarga, visibilidade e compartilhamento.
A banca testa o conhecimento sobre a estrutura dos pacotes e suas características. Vamos analisar cada alternativa:
Pacote PL/SQL
1Especificação (obrigatória)
Declarações públicas
Tipos, variáveis, exceções, constantes
2Corpo (opcional)
Implementação de subprogramas
Declarações privadas
3Características
Sobrecarga (overloading) permitida
Compartilhável entre aplicações
Múltiplos objetos em memória
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Afirma que não podem existir subprogramas com o mesmo nome, mesmo com parâmetros diferentes. Isso é falso. PL/SQL permite sobrecarga (overloading) de subprogramas dentro de um mesmo pacote, desde que a assinatura (número, tipo ou ordem dos parâmetros) seja diferente.
Alternativa B — ❌ Incorreta
Inverte os conceitos de público e privado. Na verdade, a especificação do pacote contém as declarações públicas (visíveis externamente), enquanto o corpo contém as implementações e declarações privadas. O contrário do que a alternativa propõe.
Alternativa C — ❌ Incorreta
Diz que os pacotes não podem ser compartilhados após criação e compilação. É falso. Pacotes são objetos do banco de dados e podem ser compartilhados por qualquer aplicação ou usuário que tenha privilégio de execução sobre eles.
Alternativa D — ❌ Incorreta
Afirma que o servidor Oracle lê apenas um objeto na memória por vez. Isso não é verdade. O Oracle pode manter múltiplos objetos (incluindo vários pacotes) em memória simultaneamente, através do buffer cache e do shared pool.
Alternativa E — ✅ Correta ⟵ GABARITO
Exato: um pacote deve ter uma especificação (obrigatória), mas o corpo é opcional. O corpo só é necessário se houver subprogramas ou cursores a serem implementados. Caso o pacote contenha apenas tipos, variáveis, exceções e constantes públicas, a especificação é suficiente.
NÃO CAIA NESSA!
A alternativa E é a correta, mas muitos candidatos acham que o corpo é sempre obrigatório. A banca explora essa confusão. Lembre-se: especificação obrigatória, corpo opcional (quando não há implementações).
Conclusão: A única alternativa que descreve corretamente a estrutura fundamental de um pacote PL/SQL é a letra E.