All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.army.criteria.postgre.PostgreMerge Maven / Gradle / Ivy

There is a newer version: 0.6.6
Show newest version
package io.army.criteria.postgre;

import io.army.criteria.*;
import io.army.criteria.impl.SQLs;
import io.army.meta.FieldMeta;
import io.army.meta.TableMeta;

import java.util.function.Supplier;

/**
 * 

* This interface representing Postgre UPDATE syntax. * * @see Postgre UPDATE syntax * @since 1.0 */ public interface PostgreMerge extends PostgreStatement, DmlStatement { interface _AsMergeClause extends Item { I asMerge(); } interface _MergeInsertValuesParensClause extends InsertStatement._ValuesParensClause> { } interface _MergeInsertValuesParenCommaSpec extends _CommaClause<_MergeInsertValuesParensClause>, _DmlInsertClause { } interface _MergeInsertValuesDefaultSpec extends InsertStatement._StaticColumnDefaultClause> , InsertStatement._DomainValueClause> , InsertStatement._DynamicValuesClause> , InsertStatement._StaticValuesClause<_MergeInsertValuesParensClause> { } interface _MergeInsertOverridingValueSpec extends _MergeInsertValuesDefaultSpec , PostgreInsert._OverridingValueClause<_MergeInsertValuesDefaultSpec> { } interface _MergeInsertColumnListSpec extends InsertStatement._ColumnListParensClause> , _MergeInsertOverridingValueSpec { } interface _MergerUpdateSetClause extends UpdateStatement._StaticRowSetClause, _MergerUpdateSetSpec> , UpdateStatement._DynamicSetClause>, _DmlUpdateSpec> { } interface _MergerUpdateSetSpec extends _MergerUpdateSetClause , _DmlUpdateSpec { } interface _MergeWhenThenClause { _MergeWhenSpec thenDoNothing(); } interface _MatchedThenClause extends _MergeWhenThenClause { _MergerUpdateSetClause> thenUpdate(); _MergeWhenSpec thenDelete(); } interface _NotMatchedThenClause extends _MergeWhenThenClause { _MergeInsertColumnListSpec> thenInsert(); } interface _MatchedThenSpec extends _MatchedThenClause , _WhereAndClause<_MatchedThenSpec> { } interface _NotMatchedThenSpec extends _NotMatchedThenClause , _WhereAndClause<_NotMatchedThenSpec> { } interface _MergeWhenClause { _MatchedThenSpec whenMatched(); _NotMatchedThenSpec whenNotMatched(); } interface _MergeWhenSpec extends _MergeWhenClause , _AsMergeClause { } interface _MergeOnClause extends _OnClause<_MergeWhenClause> { } interface _MergeUsingDataSourceClause { _MergeOnClause using(TableMeta table); _MergeOnClause using(TableMeta table, SQLs.WordAs as, String alias); _AsClause<_MergeOnClause> using(Supplier supplier); } }