Pular para o conteúdo principal

Questão de Banco de Dados — SQL Server — CESPE / CEBRASPE 2019

Banco de DadosSQL Server
Código
ce107074
Banca
CESPE / CEBRASPE
Órgão
CGE - CE
Ano
2019
Nível
Superior
Cargo
CESPE - - Auditor de Controle Interno - Tecnologia da Informação
ALTER TABLE dbo.Ordens ADD CONSTRAINTDFT_Ordens_ordemts DEFAULT(SYSDATETIME()) FORordemts;O código precedente modifica a tabela Ordens (composta por ordens de venda e ordemts – data/hora do pedido), em um banco de dados MS-SQL Server.Após essa modificação, sempre que for inserida uma nova ordem de venda,
  1. Ase não for definido um valor para o campo ordemts, o sistema invocará a função SYSDATETIME.
  2. Bserá obrigatório o preenchimento manual do campo ordemts.
  3. Cse não for definido um valor para o campo ordemts, este ficará Null.
  4. Dse for definido um valor para o campo ordemts, o banco de dados retornará erro de dado não permitido.
  5. Ese não for definido um valor Null para o campo ordemts, o banco de dados retornará erro de dado não permitido.
Revelar gabarito e comentário

GabaritoA — se não for definido um valor para o campo ordemts, o sistema invocará a função SYSDATETIME.

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”.

Comando DEFAULT em SQL Server

Gabarito: letra A. A constraint DEFAULT no SQL Server define um valor padrão para uma coluna quando nenhum valor é fornecido no INSERT. No comando ALTER TABLE dbo.Ordens ADD CONSTRAINT DFT_Ordens_ordemts DEFAULT(SYSDATETIME()) FOR ordemts;, a função SYSDATETIME() será invocada sempre que uma nova ordem for inserida sem valor explícito para ordemts.

Alternativa A — ✅ Correta ⟵ GABARITO

Exatamente o que a DEFAULT faz: se o campo ordemts não for especificado no INSERT, o sistema chama SYSDATETIME() para preenchê-lo com a data/hora atual.

Alternativa B — ❌ Incorreta

A DEFAULT torna o preenchimento manual opcional, não obrigatório. O campo pode ser omitido, assumindo o valor padrão.

Alternativa C — ❌ Incorreta

Com a DEFAULT ativa, se nenhum valor for definido, o campo não fica NULL — ele recebe o valor padrão (SYSDATETIME()). Null só ocorreria se não houvesse DEFAULT e a coluna aceitasse NULL.

Alternativa D — ❌ Incorreta

Se um valor for explicitamente definido para ordemts, esse valor prevalece sobre o padrão. O banco não retorna erro; a DEFAULT só age na ausência de valor.

Alternativa E — ❌ Incorreta

A frase é confusa: "se não for definido um valor Null" não faz sentido. A DEFAULT não gera erro; ela fornece o valor padrão.

Link permanente: /questoes/ce107074