import { kysely } from "https://dotland.deno.dev/x/kysely_postgrs_js_dialect@v0.27.3/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"
Returns
InsertQueryBuilder<DB, TB, O>