# MergeSuspendExecutable

open class MergeSuspendExecutable<S : MergeStatement>(val statement: S) : SuspendExecutable<Int, S>

Represents the execution logic for an SQL MERGE statement that encapsulates the logic to perform conditional updates, insertions, or deletions.

## Constructors

MergeSuspendExecutable
Link copied to clipboard
constructor(statement: S)

## Properties

isAlwaysBatch
Link copied to clipboard
open val isAlwaysBatch: Boolean

Whether the SQL statement is meant to be performed as part of a batch execution.

statement
Link copied to clipboard
open override val statement: S

The actual Exposed Statement on which the specific execution logic should be used.

## Functions

execute
Link copied to clipboard
open suspend fun execute(transaction: R2dbcTransaction): Int?

Executes the SQL statement directly in the provided transaction and returns the generated result, or `null` if either no result was retrieved or if the transaction blocked statement execution.

executeInternal
Link copied to clipboard
open suspend override fun R2dbcPreparedStatementApi.executeInternal(transaction: R2dbcTransaction): Int?

Determines the exact way that an SQL statement is executed in a transaction and applies any necessary logic before returning the result generated by the executed statement.

prepared
Link copied to clipboard
open suspend fun prepared(transaction: R2dbcTransaction, sql: String): R2dbcPreparedStatementApi

Uses a transaction connection and an sql string representation to return a precompiled SQL statement, stored as an implementation of R2dbcPreparedStatementApi.