-
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