Pular para o conteúdo principal

Questão de Banco de Dados — SQL Server — FCC 2015

Banco de DadosSQL Server
Código
fc027367
Banca
FCC
Órgão
TRT - 23ª REGIÃO (MT)
Ano
2015
Nível
Médio
Após criar a tabela Processo no Sistema Gerenciador de Banco de Dados SQL Server, para definir uma restrição que especifica que o campo AnoProcesso só poderá receber números inteiros maiores do que 2014, o Técnico deve utilizar a instrução
  1. AADD CONSTRAINT Processo CHECK (AnoProcesso>2014);
  2. BALTER TABLE Processo ADD CHECK (AnoProcesso>2014);
  3. CADD CONSTRAINT (AnoProcesso>2014) FROM Processo;
  4. DCREATE CONSTRAINT Chk_Processo FROM Processo CHECK (AnoProcesso>2014);
  5. EALTER TABLE Processo ADD CONSTRAINT (AnoProcesso>2014);
Revelar gabarito e comentário

GabaritoB — ALTER TABLE Processo ADD CHECK (AnoProcesso>2014);

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

SQL Server: Adicionando CHECK constraint em tabela existente

Gabarito: letra B. A sintaxe correta no SQL Server para adicionar uma restrição CHECK em uma tabela já criada é ALTER TABLE nome_da_tabela ADD CHECK (condição);, que permite definir a validação sem nomear a restrição. A alternativa B segue exatamente essa forma.

A banca testa o conhecimento da sintaxe DDL do SQL Server para manipulação de constraints. O comando ALTER TABLE é usado para modificar a estrutura de uma tabela existente, e a cláusula ADD permite incluir novas restrições, como CHECK, PRIMARY KEY, FOREIGN KEY, etc.

Alternativa A — ❌ Incorreta

Falta o comando ALTER TABLE antes de ADD CONSTRAINT. A instrução está solta, não vinculada a uma tabela, portanto não é executável.

Alternativa B — ✅ Correta ⟵ GABARITO

Usa a sintaxe ALTER TABLE Processo ADD CHECK (AnoProcesso>2014);, que é perfeitamente válida no SQL Server para adicionar um CHECK constraint sem nome. A condição está entre parênteses e a tabela é especificada.

Alternativa C — ❌ Incorreta

A construção ADD CONSTRAINT (condição) FROM tabela não existe. O correto seria ALTER TABLE ... ADD CONSTRAINT nome CHECK (condição). A palavra FROM não faz parte da sintaxe de constraints.

Alternativa D — ❌ Incorreta

Não existe comando CREATE CONSTRAINT dessa forma no SQL Server. Constraints são criadas com ALTER TABLE ... ADD CONSTRAINT ou diretamente no CREATE TABLE.

Alternativa E — ❌ Incorreta

Embora comece com ALTER TABLE Processo ADD CONSTRAINT, a sintaxe está errada: após CONSTRAINT deve vir um nome (ou, se for anônimo, usa-se ADD CHECK diretamente). Aqui colocou (AnoProcesso>2014) como se fosse o nome, mas o nome não pode ser uma expressão. A forma correta sem nome é ADD CHECK (AnoProcesso>2014).

PEGA ESSA DICA!

No SQL Server, para adicionar uma constraint CHECK sem nome, use ALTER TABLE tabela ADD CHECK (condição). Caso queira nomeá-la, a sintaxe é ALTER TABLE tabela ADD CONSTRAINT nome CHECK (condição). Ambas são válidas, mas a questão cobrou a versão sem nome na alternativa correta.

Gabarito: letra B.

Link permanente: /questoes/fc027367