org.h2.command.dml

## Class Merge

- java.lang.Object
- - org.h2.command.Prepared
  - - org.h2.command.dml.CommandWithValues
    - - org.h2.command.dml.Merge

    public class Merge
    extends CommandWithValues

This class represents the statement MERGE

### Field Summary

### Fields inherited from class org.h2.command.dml.CommandWithValues

`valuesExpressionList`

### Fields inherited from class org.h2.command.Prepared

`create, parameters, prepareAlways, session, sqlStatement`

### Constructor Summary

Constructors
Constructor and Description
`Merge(Session session)`

### Method Summary

Methods
`java.lang.String` `getPlanSQL(boolean alwaysQuote)` Get the SQL statement with the execution plan.
`Table` `getTargetTable()`
`TableFilter` `getTargetTableFilter()`
`int` `getType()` Get the command type as defined in CommandInterface
`boolean` `isCacheable()`
`boolean` `isTransactional()` Check if this command is transactional.
`protected void` `merge(Row row)` Merge the given row.
`void` `prepare()` Prepare this statement.
`ResultInterface` `queryMeta()` Get an empty result set containing the meta data.
`void` `setColumns(Column[] columns)`
`void` `setCommand(Command command)` Set the command.
`void` `setKeys(Column[] keys)`
`void` `setQuery(Query query)`
`void` `setTargetTable(Table targetTable)`
`void` `setTargetTableFilter(TableFilter targetTableFilter)`
`int` `update()` Execute the statement.

### Methods inherited from class org.h2.command.dml.CommandWithValues

`addRow`

### Methods inherited from class org.h2.command.Prepared

`checkCanceled, checkParameters, getCteCleanups, getCurrentRowNumber, getObjectId, getParameters, getPersistedObjectId, getSession, getSimpleSQL, getSQL, getSQL, isQuery, isReadOnly, needRecompile, query, setCteCleanups, setCurrentRowNumber, setParameterList, setPersistedObjectId, setPrepareAlways, setRow, setSession, setSQL, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### Merge

    public Merge(Session session)

### Method Detail

#### setCommand

    public void setCommand(Command command)

Description copied from class: `Prepared`
Set the command.

Overrides:
  `setCommand` in class `Prepared`
Parameters:
  `command` - the new command

#### setTargetTable

    public void setTargetTable(Table targetTable)

#### setColumns

    public void setColumns(Column[] columns)

#### setKeys

    public void setKeys(Column[] keys)

#### setQuery

    public void setQuery(Query query)

#### update

    public int update()

Description copied from class: `Prepared`
Execute the statement.

Overrides:
  `update` in class `Prepared`
Returns:
  the update count

#### merge

    protected void merge(Row row)

Merge the given row.

Parameters:
  `row` - the row

#### getPlanSQL

    public java.lang.String getPlanSQL(boolean alwaysQuote)

Description copied from class: `Prepared`
Get the SQL statement with the execution plan.

Overrides:
  `getPlanSQL` in class `Prepared`
Parameters:
  `alwaysQuote` - quote all identifiers
Returns:
  the execution plan

#### prepare

    public void prepare()

Description copied from class: `Prepared`
Prepare this statement.

Overrides:
  `prepare` in class `Prepared`

#### isTransactional

    public boolean isTransactional()

Description copied from class: `Prepared`
Check if this command is transactional. If it is not, then it forces the current transaction to commit.

Specified by:
  `isTransactional` in class `Prepared`
Returns:
  true if it is

#### queryMeta

    public ResultInterface queryMeta()

Description copied from class: `Prepared`
Get an empty result set containing the meta data.

Specified by:
  `queryMeta` in class `Prepared`
Returns:
  the result set

#### getType

    public int getType()

Description copied from class: `Prepared`
Get the command type as defined in CommandInterface

Specified by:
  `getType` in class `Prepared`
Returns:
  the statement type

#### isCacheable

    public boolean isCacheable()

Overrides:
  `isCacheable` in class `Prepared`

#### getTargetTable

    public Table getTargetTable()

#### getTargetTableFilter

    public TableFilter getTargetTableFilter()

#### setTargetTableFilter

    public void setTargetTableFilter(TableFilter targetTableFilter)