When you have information for a table, you normally insert records if the record is new. And you update records if a record already exists. The MERGE statement allows you to handle multiple scenarios in one fell swoop.
In a MERGE, the table that you will insert into or update is the target
table. The table you are getting data from is the source table. You define the
rules for the operation based on whether there is a match between source and
target tables.
There are some limitations using MERGE. You have
to have a semicolon at the end of the statement. For a given source row, you
can only MERGE into a single row in the target table.