Questão nº 36
Questão de Tecnologia da Informação · FCC TRT18 2022 (nº 36)
Em um banco de dados PostgreSQL 13 aberto e funcionando em condições ideais, existe uma tabela denominada `TRT18_temp`. Um Técnico foi solicitado a esvaziar todos os dados dessa tabela. Para isso, ele utilizou o comando
- A`TRUNCATE TRT18_temp CASCADE;`
- B`DROP TABLE IF_EXISTS TRT18_temp;`
- C`DROP TABLE TRT18_temp;`
- D`TRUNCATE TABLE TRT18_temp;` (alternativa correta)
- E`EMPTY TABLE TRT18_temp;`
Resposta comentada
Gabarito Alternativa D
Para esvaziar uma tabela (remover todos os dados, mas manter a estrutura da tabela intacta), o comando mais eficiente no PostgreSQL é o `TRUNCATE TABLE`. Ele remove todas as linhas de forma muito rápida, liberando o espaço de armazenamento e reiniciando contadores de identidade (como `SERIAL`).
(A) Incorreta: O comando `TRUNCATE TABLE TRT18_temp CASCADE;` esvaziaria a tabela, mas a cláusula `CASCADE` também esvaziaria (truncaria) quaisquer tabelas que possuam chaves estrangeiras referenciando a `TRT18_temp`, o que vai além da solicitação de esvaziar apenas essa tabela.
(B) Incorreta: O comando `DROP TABLE IF_EXISTS TRT18_temp;` remove a tabela inteira (estrutura e dados), não apenas seus dados. A cláusula `IF_EXISTS` apenas evita um erro caso a tabela não exista.
(C) Incorreta: O comando `DROP TABLE TRT18_temp;` remove a tabela inteira (estrutura e dados), e não apenas esvazia seus dados. A armadilha da banca é confundir "esvaziar a tabela" (remover os dados) com "apagar a tabela" (remover a estrutura e os dados). `DROP TABLE` apaga a tabela inteira, enquanto `TRUNCATE TABLE` apenas remove os dados, deixando a tabela pronta para novos registros.
(D) Correta: O comando `TRUNCATE TABLE TRT18_temp;` é a forma correta e mais eficiente de remover todos os dados de uma tabela no PostgreSQL, mantendo sua estrutura intacta e pronta para novos registros.
(E) Incorreta: `EMPTY TABLE` não é um comando SQL válido para esvaziar tabelas no PostgreSQL (nem no SQL padrão).
Fonte: FCC TRT18 2022 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.