final class MergeWhenClauseWithMergeWhenTgtMatchedOptMergeWhenConditionThenMergeDelete_0b464318
    implements MergeWhenClauseForm, MergeWhenListForm
    uses Assertion
Public API: explicitly declared with @visibility public.

The merge_when_clause SQL value; generated by bin/build-models.php.

Accept a structured SQL valuedoctest
$write = static fn (\SqlSemantics\Statement\Model\PostgreSql\Value\MergeWhenClauseWithMergeWhenTgtMatchedOptMergeWhenConditionThenMergeDelete_0b464318 $value): string => \SqlSemantics\Statement\Writer::render($value);
    $write instanceof \Closure // => true

Properties§

public MergeWhenTgtMatchedForm $mergeWhenTgtMatched
public OptMergeWhenConditionForm $optMergeWhenCondition
public MergeDeleteForm $mergeDelete
public Comments $comments = new \SqlSemantics\Statement\Comments()

Methods§

public function __construct(
    public MergeWhenTgtMatchedForm $mergeWhenTgtMatched,
    public OptMergeWhenConditionForm $optMergeWhenCondition,
    public MergeDeleteForm $mergeDelete,
    public Comments $comments = new \SqlSemantics\Statement\Comments(),
)

Supplies the SQL values of this form; comments are kept by the position of the symbol each precedes.

Parameters

$mergeWhenTgtMatchedMergeWhenTgtMatchedForm
$optMergeWhenConditionOptMergeWhenConditionForm
$mergeDeleteMergeDeleteForm
$commentsComments
Calls 3
public function write(Writer $writer): void

Writes SQL entirely from this value's fields.

Parameters

$writerWriter
Calls 5
public function withMergeWhenTgtMatched(MergeWhenTgtMatchedForm $mergeWhenTgtMatched): self

Returns a copy with a new mergeWhenTgtMatched, preserving every other field.

Parameters

$mergeWhenTgtMatchedMergeWhenTgtMatchedForm

Returns

self
Calls 1
public function withOptMergeWhenCondition(OptMergeWhenConditionForm $optMergeWhenCondition): self

Returns a copy with a new optMergeWhenCondition, preserving every other field.

Parameters

$optMergeWhenConditionOptMergeWhenConditionForm

Returns

self
Calls 1
public function withMergeDelete(MergeDeleteForm $mergeDelete): self

Returns a copy with a new mergeDelete, preserving every other field.

Parameters

$mergeDeleteMergeDeleteForm

Returns

self
Calls 1
public function withComments(Comments $comments): self

Returns a copy with a new comments, preserving every other field.

Parameters

$commentsComments

Returns

self
Calls 1