Module

x/kysely_postgrs_js_dialect/mod.ts>kysely.InsertQueryBuilder#top

Kysely dialect for PostgreSQL using the Postgres.js client.
Latest
method kysely.InsertQueryBuilder.prototype.top
import { kysely } from "https://dotland.deno.dev/x/kysely_postgrs_js_dialect@v0.27.4/mod.ts";
const { InsertQueryBuilder } = kysely;

Changes an insert into query to an insert top into query.

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

Examples

Insert the first 5 rows:

await db.insertInto('person')
  .top(5)
  .columns(['first_name', 'gender'])
  .expression(
    (eb) => eb.selectFrom('pet').select(['name', sql.lit('other').as('gender')])
  )
  .execute()

The generated SQL (MS SQL Server):

insert top(5) into "person" ("first_name", "gender") select "name", 'other' as "gender" from "pet"

Insert the first 50 percent of rows:

await db.insertInto('person')
  .top(50, 'percent')
  .columns(['first_name', 'gender'])
  .expression(
    (eb) => eb.selectFrom('pet').select(['name', sql.lit('other').as('gender')])
  )
  .execute()

The generated SQL (MS SQL Server):

insert top(50) percent into "person" ("first_name", "gender") select "name", 'other' as "gender" from "pet"

Parameters

expression: number | bigint
optional
modifiers: "percent"