@haylee.mertz
The MERGE command in Oracle is used to update or insert data into a target table based on a specified condition. Here is the syntax and an example of how to use the MERGE command:
Syntax:
1 2 3 4 5 6 7 8 |
MERGE INTO target_table USING source_table ON (condition) WHEN MATCHED THEN UPDATE SET column1 = value1, column2 = value2 WHEN NOT MATCHED THEN INSERT (column1, column2) VALUES (value1, value2); |
Example:
Suppose we have two tables, employees
and employee_updates
. We want to update the employees
table with any changes in the employee_updates
table based on the employee_id
. If the employee_id
already exists in the employees
table, we will update the salary
column with the new salary from the employee_updates
table. If the employee_id
does not exist in the employees
table, we will insert a new row with the employee details.
1 2 3 4 5 6 7 8 |
MERGE INTO employees e USING employee_updates eu ON (e.employee_id = eu.employee_id) WHEN MATCHED THEN UPDATE SET e.salary = eu.salary WHEN NOT MATCHED THEN INSERT (employee_id, name, salary, department) VALUES (eu.employee_id, eu.name, eu.salary, eu.department); |
This MERGE command will update or insert records in the employees
table based on the information in the employee_updates
table.