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

org.jooq.InsertSetStep Maven / Gradle / Ivy

There is a newer version: 3.19.15
Show newest version
/*
 * 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
 *
 *  http://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
 * Apache-2.0 license and offer limited warranties, support, maintenance, and
 * commercial database integrations.
 *
 * For more information, please visit: http://www.jooq.org/licenses
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 */
package org.jooq;

import org.jetbrains.annotations.*;


// ...
// ...
// ...
// ...
import static org.jooq.SQLDialect.CUBRID;
// ...
import static org.jooq.SQLDialect.DERBY;
// ...
import static org.jooq.SQLDialect.FIREBIRD;
import static org.jooq.SQLDialect.H2;
import static org.jooq.SQLDialect.HSQLDB;
// ...
import static org.jooq.SQLDialect.MARIADB;
// ...
import static org.jooq.SQLDialect.MYSQL;
// ...
import static org.jooq.SQLDialect.POSTGRES;
import static org.jooq.SQLDialect.SQLITE;
// ...
// ...
// ...
import static org.jooq.SQLDialect.YUGABYTEDB;

import java.util.Collection;
import java.util.Map;

/**
 * This type is used for the {@link Insert}'s alternative DSL API.
 * 

* Example:


 * DSLContext create = DSL.using(configuration);
 *
 * create.insertInto(table)
 *       .set(field1, value1)
 *       .set(field2, value2)
 *       .newRecord()
 *       .set(field1, value3)
 *       .set(field2, value4)
 *       .onDuplicateKeyUpdate()
 *       .set(field1, value1)
 *       .set(field2, value2)
 *       .execute();
 * 
*

*

Referencing XYZ*Step types directly from client code

*

* It is usually not recommended to reference any XYZ*Step types * directly from client code, or assign them to local variables. When writing * dynamic SQL, creating a statement's components dynamically, and passing them * to the DSL API statically is usually a better choice. See the manual's * section about dynamic SQL for details: https://www.jooq.org/doc/latest/manual/sql-building/dynamic-sql. *

* Drawbacks of referencing the XYZ*Step types directly: *

    *
  • They're operating on mutable implementations (as of jOOQ 3.x)
  • *
  • They're less composable and not easy to get right when dynamic SQL gets * complex
  • *
  • They're less readable
  • *
  • They might have binary incompatible changes between minor releases
  • *
* * @author Lukas Eder */ public interface InsertSetStep { /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStepN columns(Field... fields); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStepN columns(Collection> fields); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep1 columns(Field field1); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep2 columns(Field field1, Field field2); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep3 columns(Field field1, Field field2, Field field3); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep4 columns(Field field1, Field field2, Field field3, Field field4); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep5 columns(Field field1, Field field2, Field field3, Field field4, Field field5); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep6 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep7 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep8 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep9 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep10 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep11 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep12 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep13 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep14 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep15 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep16 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep17 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep18 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep19 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep20 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep21 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21); /** * Set the columns for insert. */ @NotNull @CheckReturnValue @Support InsertValuesStep22 columns(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19, Field field20, Field field21, Field field22); /** * Set a value for a field in the INSERT statement. */ @NotNull @CheckReturnValue @Support InsertSetMoreStep set(Field field, T value); /** * Set a value for a field in the INSERT statement. */ @NotNull @CheckReturnValue @Support InsertSetMoreStep set(Field field, Field value); /** * Set a value for a field in the INSERT statement. */ @NotNull @CheckReturnValue @Support InsertSetMoreStep set(Field field, Select> value); /** * Set a null value for a field in the INSERT * statement. *

* This method is convenience for calling {@link #set(Field, Object)}, * without the necessity of casting the Java null literal to * (T). */ @NotNull @CheckReturnValue @Support InsertSetMoreStep setNull(Field field); /** * Set values in the INSERT statement. *

* Keys can either be of type {@link String}, {@link Name}, or * {@link Field}. *

* Values can either be of type <T> or * Field<T>. jOOQ will attempt to convert values to their * corresponding field's type. */ @NotNull @CheckReturnValue @Support InsertSetMoreStep set(Map map); /** * Set values in the INSERT statement. *

* This is the same as calling {@link #set(Map)} with the argument record * treated as a Map<Field<?>, Object>, except that the * {@link Record#changed()} flags are taken into consideration in order to * update only changed values. * * @see #set(Map) */ @NotNull @CheckReturnValue @Support InsertSetMoreStep set(Record record); /** * Add values to the insert statement with implicit field names. */ @NotNull @CheckReturnValue @Support InsertValuesStepN values(Object... values); /** * Add values to the insert statement with implicit field names. */ @NotNull @CheckReturnValue @Support InsertValuesStepN values(Field... values); /** * Add values to the insert statement with implicit field names. */ @NotNull @CheckReturnValue @Support InsertValuesStepN values(Collection values); /** * Add an empty record with default values. */ @NotNull @CheckReturnValue @Support({ CUBRID, DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE, YUGABYTEDB }) InsertOnDuplicateStep defaultValues(); /** * Use a SELECT statement as the source of values for the * INSERT statement. *

* This variant of the INSERT … SELECT statement does not * allow for specifying a subset of the fields inserted into. It will insert * into all fields of the table specified in the INTO clause. * Use {@link DSLContext#insertInto(Table, Field...)} or * {@link DSLContext#insertInto(Table, Collection)} instead, to * define a field set for insertion. */ @NotNull @CheckReturnValue @Support InsertOnDuplicateStep select(Select select); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy