Method: Sequel::Dataset#merge_insert

Defined in:
lib/sequel/dataset/query.rb

#merge_insert(*values, &block) ⇒ Object

Return a dataset with a WHEN NOT MATCHED THEN INSERT clause added to the MERGE statement. If a block is passed, treat it as a virtual row and use it as additional conditions for the match.

The arguments provided can be any arguments that would be accepted by #insert.

merge_insert(i1: :i2, a: Sequel[:b]+11)
# WHEN NOT MATCHED THEN INSERT (i1, a) VALUES (i2, (b + 11))

merge_insert(:i2, Sequel[:b]+11){a > 30}
# WHEN NOT MATCHED AND (a > 30) THEN INSERT VALUES (i2, (b + 11))


718
719
720
# File 'lib/sequel/dataset/query.rb', line 718

def merge_insert(*values, &block)
  _merge_when(:type=>:insert, :values=>values, &block)
end