import { kysely } from "https://dotland.deno.dev/x/kysely_postgrs_js_dialect@v0.27.3/deps.ts";
const { MergeQueryBuilder } = kysely;
Changes a merge into
query to an merge top into
query.
top
clause is only supported by some dialects like MS SQL Server.
Examples
Affect 5 matched rows at most:
await db.mergeInto('person')
.top(5)
.using('pet', 'person.id', 'pet.owner_id')
.whenMatched()
.thenDelete()
.execute()
The generated SQL (MS SQL Server):
merge top(5) into "person"
using "pet" on "person"."id" = "pet"."owner_id"
when matched then
delete
Affect 50% of matched rows:
await db.mergeInto('person')
.top(50, 'percent')
.using('pet', 'person.id', 'pet.owner_id')
.whenMatched()
.thenDelete()
.execute()
The generated SQL (MS SQL Server):
merge top(50) percent into "person"
using "pet" on "person"."id" = "pet"."owner_id"
when matched then
delete
Returns
MergeQueryBuilder<DB, TT, O>