Pular para o conteúdo principal

Questão de Banco de Dados — PL-SQL — FCC 2017

Banco de DadosPL-SQL
Código
fc038441
Banca
FCC
Órgão
TRE-SP
Ano
2017
Nível
Médio
Cargo
Técnico Judiciário – Programação de Sistemas
Os pacotes PL/SQL permitem agrupar tipos PL/SQL, variáveis, estruturas de dados, exceções e subprogramas relacionados. Estes pacotes
  1. Anão podem ter subprogramas com o mesmo nome, mesmo que esses subprogramas utilizem parâmetros diferentes.
  2. Bdevem ter todas as estruturas públicas declaradas nos seus corpos, e as privadas, nas suas especificações.
  3. Cnão podem ser compartilhados com outras aplicações após terem sido criados e compilados.
  4. Dpermitem que o servidor Oracle leia apenas um objeto na memória de cada vez.
  5. 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.

Link permanente: /questoes/fc038441