Questão nº 48

Questão de Análise de Sistemas · FGV TJDFT 2022 (nº 48)

FGV2022Analista Judiciário - Análise de SistemasAnálise de Sistemas
Gabarito: Cver comentário ↓

No SQL Server 19, o comando de criação de restrições de chaves estrangeiras (em inglês, foreign key constraints) oferece as cláusulas ON DELETE e ON UPDATE, cujo conjunto de opções permitidas é:

Resposta comentada

Gabarito Alternativa C

Conceito-chave: As foreign key constraints no SQL Server definem o que acontece com as linhas filhas quando a linha pai é excluída (`ON DELETE`) ou atualizada (`ON UPDATE`). As opções válidas são apenas quatro: CASCADE (propaga a ação), NO ACTION (bloqueia a ação), SET NULL (define a coluna como NULL) e SET DEFAULT (define o valor padrão).

(A) Incorreta: `RAISE ERROR` não existe no SQL Server; o bloqueio é feito com `NO ACTION`, e `RESTRICT` é do padrão SQL/MySQL, não do SQL Server.

(B) Incorreta: `RESTRICT` não é uma opção no SQL Server — ele usa `NO ACTION` para o mesmo efeito de bloqueio, mas `RESTRICT` não é aceito na sintaxe.

(C) Correta: O SQL Server aceita exatamente `CASCADE`, `NO ACTION`, `SET DEFAULT` e `SET NULL` para as cláusulas `ON DELETE` e `ON UPDATE`, conforme a documentação oficial.

(D) Incorreta: `RAISE ERROR` não é uma cláusula válida; o erro de violação de restrição é lançado automaticamente pelo `NO ACTION`.

(E) Incorreta: Faltam `CASCADE` e `NO ACTION`, que são as opções mais usadas; `RESTRICT` não existe no SQL Server.

Armadilha da banca (no distrator B): A pegadinha clássica é confundir `RESTRICT` (do MySQL/Padrão SQL) com `NO ACTION` (do SQL Server). No SQL Server, `NO ACTION` já é o comportamento padrão de bloqueio — `RESTRICT` nem é reconhecido pelo parser. Quem conhece outros bancos cai nessa.

Fonte: FGV TJDFT 2022 Analista Judiciário - Análise de Sistemas (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