org.jooq.InsertValuesStep17 Maven / Gradle / Ivy
/*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Other licenses:
* -----------------------------------------------------------------------------
* Commercial licenses for this work are available. These replace the above
* ASL 2.0 and offer limited warranties, support, maintenance, and commercial
* database integrations.
*
* For more information, please visit: https://www.jooq.org/legal/licensing
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package org.jooq;
import java.util.Collection;
import java.util.function.Function;
import org.jetbrains.annotations.NotNull;
/**
* This type is used for the {@link Insert}'s DSL API.
*
* Example:
* using(configuration)
* .insertInto(table, field1, field2, field3, .., field16, field17)
* .values(valueA1, valueA2, valueA3, .., valueA16, valueA17)
* .values(valueB1, valueB2, valueB3, .., valueB16, valueB17)
* .onDuplicateKeyUpdate()
* .set(field1, value1)
* .set(field2, value2)
* .execute();
*
*
* @author Lukas Eder
*/
public interface InsertValuesStep17 extends InsertOnDuplicateStep {
/**
* Add a single row of values to the insert statement.
*/
@NotNull @CheckReturnValue
@Support
InsertValuesStep17 values(T1 value1, T2 value2, T3 value3, T4 value4, T5 value5, T6 value6, T7 value7, T8 value8, T9 value9, T10 value10, T11 value11, T12 value12, T13 value13, T14 value14, T15 value15, T16 value16, T17 value17);
/**
* Add a single row of values to the insert statement.
*/
@NotNull @CheckReturnValue
@Support
InsertValuesStep17 values(Field value1, Field value2, Field value3, Field value4, Field value5, Field value6, Field value7, Field value8, Field value9, Field value10, Field value11, Field value12, Field value13, Field value14, Field value15, Field value16, Field value17);
/**
* Add a single row of values to the insert statement.
*/
@NotNull @CheckReturnValue
@Support
InsertValuesStep17 values(Collection> values);
/**
* Add a single row of values to the insert statement.
*/
@NotNull @CheckReturnValue
@Support
InsertValuesStep17 values(Row17 values);
/**
* Add a single row of values to the insert statement.
*/
@NotNull @CheckReturnValue
@Support
InsertValuesStep17 values(Record17 values);
/**
* Add multiple rows of values to the insert statement.
*
* This is equivalent to calling the other values clauses multiple times, but
* allows for dynamic construction of row arrays.
*
* @see Rows#toRowArray(Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function)
*/
@NotNull @CheckReturnValue
@Support
@SuppressWarnings("unchecked")
InsertValuesStep17 valuesOfRows(Row17... values);
/**
* Add multiple rows of values to the insert statement.
*
* This is equivalent to calling the other values clauses multiple times, but
* allows for dynamic construction of row arrays.
*
* @see Rows#toRowList(Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function, Function)
*/
@NotNull @CheckReturnValue
@Support
InsertValuesStep17 valuesOfRows(Collection extends Row17> values);
/**
* Add multiple rows of values to the insert statement.
*
* This is equivalent to calling the other values clauses multiple times, but
* allows for dynamic construction of row arrays.
*
* Note: Irrespective of individual {@link Record#changed()}
* flag values, all record values are copied to the VALUES
clause
* using {@link Record#intoArray()}, to match insert columns by position, not
* by name.
*/
@NotNull @CheckReturnValue
@Support
@SuppressWarnings("unchecked")
InsertValuesStep17 valuesOfRecords(Record17... values);
/**
* Add multiple rows of values to the insert statement.
*
* This is equivalent to calling the other values clauses multiple times, but
* allows for dynamic construction of row arrays.
*
* Note: Irrespective of individual {@link Record#changed()}
* flag values, all record values are copied to the VALUES
clause
* using {@link Record#intoArray()}, to match insert columns by position, not
* by name.
*/
@NotNull @CheckReturnValue
@Support
InsertValuesStep17 valuesOfRecords(Collection extends Record17> values);
/**
* Use a SELECT
statement as the source of values for the
* INSERT
statement
*
* This variant of the INSERT … SELECT
statement expects a
* select returning exactly as many fields as specified previously in the
* INTO
clause:
* {@link DSLContext#insertInto(Table, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field, Field)}
*/
@NotNull @CheckReturnValue
@Support
InsertOnDuplicateStep select(Select extends Record17> select);
}