Questão nº 58

Questão de Banco de Dados · FGV CGU 2021 - Tarde (nº 58)

FGV2021Auditor Federal de Finanças e Controle - Área Tecnologia da InformaçãoBanco de Dados
Gabarito: Bver comentário ↓

No contexto do SQL Server 2019, considere o script SQL a seguir.

```sql
create table XPTO (
C1 int identity,
C2 varchar(16))
insert into XPTO (C2) values ('A')
insert into XPTO (C2) values ('B')
insert into XPTO (C2) values ('C')
truncate table XPTO
insert into XPTO (C2) values ('D')
insert into XPTO (C2) values ('E')
delete from XPTO
truncate table XPTO
insert into XPTO (C2) values ('F')
truncate table XPTO
```

Após a execução desse script, o resultado exibido pelo comando

```sql
select max(C1) from XPTO
```

é:

Resposta comentada

Gabarito Alternativa B

Conceito-chave: TRUNCATE remove todas as linhas da tabela e, no SQL Server, zera o contador da coluna IDENTITY. Ou seja, o próximo valor inserido recomeça do 1. Como a tabela fica vazia, MAX(C1) não encontra nenhum valor e retorna NULL.

  • (A) Incorreta: MAX de uma tabela vazia não retorna 0; retorna NULL, pois não há nenhum valor para calcular o máximo.
  • (B) Correta: Após o último TRUNCATE, a tabela está vazia e o contador IDENTITY foi resetado. Como não há linhas, MAX(C1) não tem nenhum valor para avaliar, resultando em NULL.
  • (C) Incorreta: O valor 1 seria o primeiro IDENTITY após um TRUNCATE, mas como a tabela está vazia (nenhum insert foi feito após o último TRUNCATE), não há linha com C1 = 1.
  • (D) Incorreta: O valor 3 seria o máximo se a tabela tivesse as linhas originais ('A', 'B', 'C'), mas o primeiro TRUNCATE já apagou tudo e resetou o contador.
  • (E) Incorreta: O valor 6 seria o máximo se nenhum TRUNCATE tivesse ocorrido (após 6 inserts), mas cada TRUNCATE zera o contador, e o último TRUNCATE deixa a tabela sem linhas. Armadilha da banca: muitos alunos somam os inserts (1 a 6) e esquecem que TRUNCATE reseta o IDENTITY e remove todas as linhas, fazendo MAX retornar NULL.

Fonte: FGV CGU 2021 - Tarde Auditor Federal de Finanças e Controle - Área Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho