SóProvas


ID
2561902
Banca
FCC
Órgão
TST
Ano
2017
Provas
Disciplina
Banco de Dados
Assuntos

Para atualizar as linhas da tabela backup_employees de forma que corresponda à tabela employees, um Analista de Sistemas utilizou a instrução abaixo em um banco de dados Oracle aberto e em condições ideais.


MERGE INTO backup_employees bac

..I.. (SELECT * FROM employees) emp

ON (bac.employee_id = emp.employee_id)

..II..

UPDATE SET

bac.name = emp.name,

bac.job_id = emp.job_id,

bac.salary = emp.salary*1.5,

bac.commission = emp.commission,

DELETE WHERE (emp.commission IS NOT NULL)

..III..

INSERT VALUES(emp.employee_id, emp.name, emp.job_id,

emp.salary, emp.commission);


Para que a sintaxe da instrução esteja correta, as lacunas I, II e III devem ser preenchidas, correta e respectivamente, por

Alternativas
Comentários
  • LETRA D

    MARGE
    Realiza operações de inserção, atualização ou exclusão em uma tabela de destino com base nos resultados da junção com a tabela de origem. Por exemplo, você pode sincronizar duas tabelas inserindo, atualizando ou excluindo linhas em uma tabela com base nas diferenças encontradas na outra tabela.

    BEGIN
    SET NOCOUNT ON;
        MERGE Production.UnitMeasure AS target
        USING (SELECT @UnitMeasureCode, @Name) AS source (UnitMeasureCode, Name)
        ON (target.UnitMeasureCode = source.UnitMeasureCode)
        WHEN MATCHED THEN <-Ação quando os Registros coincidirem
            UPDATE SET Name = source.Name
        WHEN NOT MATCHED THEN <-Ação quando os Registros NÃO coincidirem
            INSERT (UnitMeasureCode, Name) VALUES (source.UnitMeasureCode, source.Name)
        OUTPUT deleted.*, $action, inserted.* INTO #MyTempTable;
    END;
    GO