MergeQueryBuilder
class MergeQueryBuilder<DB, TT extends keyof DB, O> {}
constructor(props: MergeQueryBuilderProps);
using<TE extends TableExpression<DB, TT>, K1 extends JoinReferenceExpression<DB, TT, TE>, K2 extends JoinReferenceExpression<DB, TT, TE>>(
sourceTable: TE,
k1: K1,
k2: K2,
): ExtractWheneableMergeQueryBuilder<DB, TT, TE, O>;using<TE extends TableExpression<DB, TT>, FN extends JoinCallbackExpression<DB, TT, TE>>(sourceTable: TE, callback: FN): ExtractWheneableMergeQueryBuilder<DB, TT, TE, O>;
§Constructors
§
new MergeQueryBuilder(props: MergeQueryBuilderProps)
[src]§Methods
§
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
§
using<TE extends TableExpression<DB, TT>, K1 extends JoinReferenceExpression<DB, TT, TE>, K2 extends JoinReferenceExpression<DB, TT, TE>>(sourceTable: TE, k1: K1, k2: K2): ExtractWheneableMergeQueryBuilder<DB, TT, TE, O>
[src]Adds the using
clause to the query.
This method is similar to SelectQueryBuilder.innerJoin, so see the documentation for that method for more examples.
Examples
const result = await db.mergeInto('person')
.using('pet', 'person.id', 'pet.owner_id')
.whenMatched()
.thenDelete()
.execute()
The generated SQL (PostgreSQL):
merge into "person"
using "pet" on "person"."id" = "pet"."owner_id"
when matched then
delete
using<TE extends TableExpression<DB, TT>, FN extends JoinCallbackExpression<DB, TT, TE>>(sourceTable: TE, callback: FN): ExtractWheneableMergeQueryBuilder<DB, TT, TE, O>
[src]