Module

x/kysely_postgrs_js_dialect/deps.ts>kysely.MergeQueryBuilder#top

Kysely dialect for PostgreSQL using the Postgres.js client.
method kysely.MergeQueryBuilder.prototype.top
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

Parameters

expression: number | bigint
optional
modifiers: "percent"