kysely
    Preparing search index...

    Class MergeQueryBuilder<DB, TT, O>

    Type Parameters

    • DB
    • TT extends keyof DB
    • O

    Implements

    Index

    Constructors

    Methods

    • This can be used to add any additional SQL to the end of the query.

      import { sql } from 'kysely'

      await db
      .mergeInto('person')
      .using('pet', 'pet.owner_id', 'person.id')
      .whenMatched()
      .thenDelete()
      .modifyEnd(sql.raw('-- this is a comment'))
      .execute()

      The generated SQL (PostgreSQL):

      merge into "person" using "pet" on "pet"."owner_id" = "person"."id" when matched then delete -- this is a comment
      

      Parameters

      Returns MergeQueryBuilder<DB, TT, O>

    • Changes a merge into query to an merge top into query.

      top clause is only supported by some dialects like MS SQL Server.

      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
      • Optionalmodifiers: "percent"

      Returns MergeQueryBuilder<DB, TT, O>