Evaluate the following statement:
CREATE TABLE bonuses(employee_id NUMBER, bonus NUMBER DEFAULT 100); The details of all employees who have made sales need to be inserted into the BONUSES table. You can obtain the list of employees who have made sales based on the SALES_REP_ID column of the ORDERS table. The human resources manager now decides that employees with a salary of $8,000 or less should receive a bonus. Those who have not made sales get a bonus of 1% of their salary. Those who have made sales get a bonus of 1% of their salary and also a salary increase of 1%. The salary of each employee can be obtained from the EMPLOYEES table. Which option should be used to perform this task most efficiently?
A.
MERGE
B.
Unconditional INSERT
C.
Conditional ALL INSERT
D.
Conditional FIRST INSERT
why is answer A?
Use MERGE to update to the target table, using different criteria (employees with a salary of $8,000 or less should receive a bonus. Those who have not made sales update with bonus of 1% of their salary. Those who have made sales get a bonus of 1% of their salary and also a salary increase of 1%.)
SO why won’t conditional all insert work in this case? It simply checks the conditions and inserts the data into the tables? Isn’t it so?
Cause, you also must update EMPLOYEES table to increase some salaries
here is an example in internet just for this question:
http://psoug.org/reference/merge.html
and it uses merge
I think A,C can answer of question but merge is more efficient. so the exact reponse is A
I choose A