O comando do sistema gerenciador de bancos de dados Microso...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a E - TRUNCATE TABLE.
A questão aborda o conhecimento sobre comandos do SQL Server para a manipulação de dados em um banco de dados, focando em comandos que removem registros das tabelas. Para resolver a questão, é necessário entender a diferença entre os comandos DELETE e TRUNCATE, assim como conhecer o funcionamento básico de cada um dentro do contexto do SQL Server.
O comando DELETE, quando utilizado sem a cláusula WHERE, remove todos os registros de uma tabela, mas faz isso linha por linha, mantendo o registro das deleções no log de transações. Além disso, permite que cada deleção possa ser revertida usando o comando ROLLBACK, caso esteja dentro de uma transação.
Já o comando TRUNCATE TABLE, que é a resposta correta, é utilizado para remover todos os dados de uma tabela de maneira mais eficiente que o DELETE, pois ele não registra a exclusão de cada linha individualmente. Ele é similar a um DELETE sem WHERE, pois também remove todos os registros, mas faz isso reiniciando o espaço de armazenamento da tabela, o que é mais rápido e usa menos recursos de log de transações. No entanto, o TRUNCATE não pode ser usado se a tabela estiver referenciada por uma FOREIGN KEY ou se estiver sendo usada em uma replicação ou com triggers. Além disso, o TRUNCATE TABLE não permite reverter a operação linha por linha com um ROLLBACK, caso você não esteja usando transações ou pontos de salvamento.
As outras alternativas apresentadas não correspondem a comandos válidos no SQL Server para a remoção de dados de uma tabela:
- CASE TABLE: Não é um comando SQL. CASE é uma expressão condicional que permite retornar valores baseados em condições.
- COLLATE TABLE: Também não é um comando SQL. COLLATE é usado para definir regras de comparação de caracteres, como a sensibilidade a acentos e maiúsculas/minúsculas.
- CROSS TABLE: Não é um comando. Pode ser uma referência ao CROSS JOIN, que é um tipo de junção entre tabelas.
- ROLLBACK TABLE: ROLLBACK é um comando para reverter transações, não para deletar dados de uma tabela.
Portanto, a alternativa E - TRUNCATE TABLE é a única que representa um comando que remove todos os registros de uma tabela de forma similar ao DELETE sem a cláusula WHERE, mas de uma maneira mais rápida e eficiente em termos de recursos de log de transações.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Gabarito: E
O comando TRUNCATE TABLE é executado de forma muito rápida. Porém, não é realizado um registro de log de cada linha excluída. Por isso, é preciso tomar muito cuidado ao decidir usar esse comando. Dependendo do SGBD usado, não é possível realizar após executar o TRUNCATE (por exemplo, em ), pois um COMMIT implícito é realizado por este comando.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo