SóProvas


ID
2743339
Banca
FGV
Órgão
MPE-AL
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

Considere o bloco de comandos Oracle a seguir.

create table x(a int, b int default 0,
c int default 0);
insert into x values (10,20,30);
alter table x set unused (b, c) ;
select * from x;

Assinale o que é produzido pelo comando “select".

Alternativas
Comentários
  • "Se você estiver preocupado com o período de tempo necessário para descartar dados de coluna de todas as linhas de uma tabela grande, use a instrução ALTER TABLE ... SET UNUSED. Essa instrução marca uma ou mais colunas como não usadas, mas na verdade não remove os dados da coluna de destino nem restaura o espaço em disco ocupado por essas colunas. No entanto, uma coluna marcada como não utilizada não é exibida em consultas ou exibições de dicionário de dados, e seu nome é removido para que uma nova coluna possa reutilizá-lo. Todas as restrições, índices e estatísticas definidas na coluna também são removidos." Fonte: https://docs.oracle.com/cd/B28359_01/server.111/b28310/tables006.htm#ADMIN11663
  • A opção alter table ... set unused no  comando Alter table é uma espécie de deleção lógica das colunas.

     

    Em termos práticos, ela "esconde" as colunas da tabela.

    Indicado para quando temos uma tabela com uma quantidade absurda de registros e não queremos fazer a exclusão das colunas com a opção alter table ... drop column, pois tende a ser uma operação bem mais demorada.