Module

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

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

Insert an arbitrary expression. For example the result of a select query.

Examples

You can create an INSERT INTO SELECT FROM query using the expression method:

const result = await db.insertInto('person')
  .columns(['first_name', 'last_name', 'age'])
  .expression((eb) => eb
    .selectFrom('pet')
    .select((eb) => [
      'pet.name',
      eb.val('Petson').as('last_name'),
      eb.lit(7).as('age'),
    ])
  )
  .execute()

The generated SQL (PostgreSQL):

insert into "person" ("first_name", "last_name", "age")
select "pet"."name", $1 as "last_name", 7 as "age from "pet"

Parameters

expression: ExpressionOrFactory<DB, TB, any>