Performs the do nothing
action.
This is supported in PostgreSQL.
To perform the delete
action, see thenDelete.
To perform the update
action, see thenUpdate or thenUpdateSet.
const result = await db.mergeInto('person')
.using('pet', 'person.id', 'pet.owner_id')
.whenMatched()
.thenDoNothing()
.execute()
The generated SQL (PostgreSQL):
merge into "person"
using "pet" on "person"."id" = "pet"."owner_id"
when matched then
do nothing
Perform an update
operation with a full-fledged UpdateQueryBuilder.
This is handy when multiple set
invocations are needed.
For a shorthand version of this method, see thenUpdateSet.
To perform the delete
action, see thenDelete.
To perform the do nothing
action, see thenDoNothing.
import { sql } from 'kysely'
const result = await db.mergeInto('person')
.using('pet', 'person.id', 'pet.owner_id')
.whenMatched()
.thenUpdate((ub) => ub
.set(sql`metadata['has_pets']`, 'Y')
.set({
updated_at: Date.now(),
})
)
.execute()
The generated SQL (PostgreSQL):
merge into "person"
using "pet" on "person"."id" = "pet"."owner_id"
when matched then
update set metadata['has_pets'] = $1, "updated_at" = $2
Performs an update set
action, similar to set.
For a full-fledged update query builder, see thenUpdate.
To perform the delete
action, see thenDelete.
To perform the do nothing
action, see thenDoNothing.
const result = await db.mergeInto('person')
.using('pet', 'person.id', 'pet.owner_id')
.whenMatched()
.thenUpdateSet({
middle_name: 'dog owner',
})
.execute()
The generate SQL (PostgreSQL):
merge into "person"
using "pet" on "person"."id" = "pet"."owner_id"
when matched then
update set "middle_name" = $1
Generated using TypeDoc
Performs the
delete
action.To perform the
do nothing
action, see thenDoNothing.To perform the
update
action, see thenUpdate or thenUpdateSet.Examples
The generated SQL (PostgreSQL):