SóProvas


ID
2158144
Banca
FCC
Órgão
SEGEP-MA
Ano
2016
Provas
Disciplina
Banco de Dados
Assuntos

O Oracle fornece um comando que é capaz de atualizar, inserir ou remover dados de modo condicional em uma tabela de banco de dados. Trata-se do comando

Alternativas
Comentários
  • Gabarito: c)

     

    Purpose

    Use the MERGE statement to select rows from one or more sources for update or insertion into a table or view. You can specify conditions to determine whether to update or insert into the target table or view.

    This statement is a convenient way to combine multiple operations. It lets you avoid multiple INSERT, UPDATE, and DELETE DML statements.

  • Letra C.

    "O comando MERGE seleciona linhas de uma ou mais origens para serem atualizadas ou visualizadas. Allém disso, o comando MERGE é uma forma conveniente de combinar múltiplas operações DML, como INSERT, UPDATE e DELETE."

    Fonte: https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9016.htm#SQLRF01606

  • questão similar:

    No Oracle 11g há uma instrução que permite atualizar, inserir ou remover linhas condicionalmente em uma tabela, evitando o uso de várias instruções DML. Esta instrução é especialmente útil nas aplicações em ambientes de Data Warehouse, nas quais é preciso trabalhar com dados provenientes de várias origens. Trata-se da instrução 

    a)SWITCH. 

    b)TRUNCATE. 

    c)MERGE. 

    d)IFCOMMAND. 

    e)EXEC. 

     

    gab.: c 

  • truncate é utilizado no postgres

  • Exemplo do Merge:

    MERGE INTO bonuses  D 

    USING (SELECT employee_id, salary, department_id FROM employees WHERE department_id = 80) S ON (D.employee_id = S.employee_id) 
        WHEN MATCHED THEN UPDATE SET D.bonus = D.bonus + S.salary*.01 
            DELETE WHERE (S.salary > 8000) 
        WHEN NOT MATCHED THEN INSERT (D.employee_id, D.bonus) VALUES (S.employee_id, S.salary*.01) WHERE (S.salary <= 8000);

    Fonte: https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9016.htm#SQLRF01606