FC ConcursosFC Concursos

Questão FC372784

Considere o seguinte código exemplo escrito em SOL Server. MERGE INTO Funcionarios AS alvo USING NovoFuncionarios AS origem ON alvo. ID = origem. ID WHEN (I) Nome = origem Nome, Ca

Linguagem SQL

FCC · 2024

Considere o seguinte código exemplo escrito em SOL Server.


MERGE INTO Funcionarios AS alvo
USING NovoFuncionarios AS origem
ON alvo. ID = origem. ID
WHEN (I) Nome = origem Nome, Cargo = origem.Cargo, Salario = origem.salario
WHEM (II) (ID, Mame, Cargo, DataContratacao, Salario)
(III) (origem.ib, origem.Nome, origem.Cargo, origem.DataContratacao, origem.Salario);

 

O código testa a existência em alvo de cada novo funcionário (origem). Caso já exista, ele atualiza, caso contrário, inclui.

 

As lacunas I, II e III são preenchidas, correta e respectivamente, por

  1. SEACHED THEN UPDATE SET - NOT SEARCHED THEN INSERT - VALUES
  2. SEEKED THEN REALIZE SET - NOT SEEKED THEN INCLUDE - DATA
  3. MATCHED THEN UPDATE SET - NOT MATCHED THEN INSERT - VALUES
  4. SEEKED THEN UPDATE SET - NOT SEEKED THEN INSERT - VALUES
  5. MATCHED THEN UPDATE SET - NOT MATCHED THEN INSERT - DATA
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A alternativa correta preenche as lacunas com as cláusulas padrão do comando MERGE do SQL Server: WHEN MATCHED THEN UPDATE SET — usada quando a condição ON encontra correspondência entre alvo e origem, indicando que a linha existente deve ser atualizada com os novos valores.

A segunda lacuna é WHEN NOT MATCHED THEN INSERT — ativa-se quando não há correspondência; nesse caso insere-se um novo registro na tabela destino. Por fim, a palavra-chave VALUES precede a lista de valores a serem inseridos, correspondendo às colunas indicadas.

Assim, a sequência MATCHED THEN UPDATE SET — NOT MATCHED THEN INSERT — VALUES implementa exatamente a lógica “atualiza se existir, insere caso contrário”.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo