|
| | InsertQuery (Table table, Columns columns={}, Values values={}, SelectStmt select=std::nullopt, ReturningColumns returning_columns={}) |
| | Constructor for the INSERT query builder.
|
| |
| std::string | to_sql () const |
| | Generate the SQL for this INSERT query.
|
| |
| std::vector< std::string > | bind_params () const |
| | Get the bind parameters for this INSERT query.
|
| |
| template<ColumnType... Cols> |
| auto | columns (const Cols &... cols) const |
| | Specify columns to insert into.
|
| |
| template<typename... Args> |
| auto | values (Args &&... args) const |
| | Add a row of values to insert.
|
| |
template<typename Select >
requires SqlExpr<Select> |
| auto | select (const Select &select) const |
| | Set a SELECT query to use for INSERT ... SELECT statements.
|
| |
| template<typename... Args> |
| auto | returning (const Args &... args) const |
| | Specify columns to return after insertion.
|
| |
template<TableType Table, typename Columns = std::tuple<>, typename Values = std::tuple<>, typename SelectStmt = std::nullopt_t, typename ReturningColumns = std::tuple<>>
class relx::query::InsertQuery< Table, Columns, Values, SelectStmt, ReturningColumns >
Base INSERT query builder.
- Template Parameters
-
| Table | Table to insert into |
| Columns | Tuple of column references |
| Values | Tuple of value tuples for multi-row inserts, or empty for other insertion types |
| SelectQuery | Optional SELECT query for INSERT ... SELECT statements |
| ReturningColumns | Tuple of column expressions to return after insertion |
Definition at line 47 of file insert.hpp.
template<TableType Table, typename Columns = std::tuple<>, typename Values = std::tuple<>, typename SelectStmt = std::nullopt_t, typename ReturningColumns = std::tuple<>>
| relx::query::InsertQuery< Table, Columns, Values, SelectStmt, ReturningColumns >::InsertQuery |
( |
Table |
table, |
|
|
Columns |
columns = {}, |
|
|
Values |
values = {}, |
|
|
SelectStmt |
select = std::nullopt, |
|
|
ReturningColumns |
returning_columns = {} |
|
) |
| |
|
inlineexplicit |
Constructor for the INSERT query builder.
- Parameters
-
| table | The table to insert into |
| columns | The columns to insert into |
| values | The values to insert |
| select | The SELECT statement (for INSERT ... SELECT) |
| returning_columns | The columns to return after insertion |
Definition at line 177 of file insert.hpp.
template<TableType Table, typename Columns = std::tuple<>, typename Values = std::tuple<>, typename SelectStmt = std::nullopt_t, typename ReturningColumns = std::tuple<>>
| std::vector< std::string > relx::query::InsertQuery< Table, Columns, Values, SelectStmt, ReturningColumns >::bind_params |
( |
| ) |
const |
|
inline |
Get the bind parameters for this INSERT query.
- Returns
- Vector of bind parameters
Definition at line 214 of file insert.hpp.
template<TableType Table, typename Columns = std::tuple<>, typename Values = std::tuple<>, typename SelectStmt = std::nullopt_t, typename ReturningColumns = std::tuple<>>
template<ColumnType... Cols>
| auto relx::query::InsertQuery< Table, Columns, Values, SelectStmt, ReturningColumns >::columns |
( |
const Cols &... |
cols | ) |
const |
|
inline |
Specify columns to insert into.
- Template Parameters
-
- Parameters
-
| cols | The columns to insert into |
- Returns
- New InsertQuery with columns specified
Definition at line 242 of file insert.hpp.
template<TableType Table, typename Columns = std::tuple<>, typename Values = std::tuple<>, typename SelectStmt = std::nullopt_t, typename ReturningColumns = std::tuple<>>
template<typename... Args>
| auto relx::query::InsertQuery< Table, Columns, Values, SelectStmt, ReturningColumns >::returning |
( |
const Args &... |
args | ) |
const |
|
inline |
Specify columns to return after insertion.
- Template Parameters
-
| Args | Column types or SQL expressions |
- Parameters
-
| args | The columns or expressions to return |
- Returns
- New InsertQuery with the RETURNING clause added
Definition at line 301 of file insert.hpp.
template<TableType Table, typename Columns = std::tuple<>, typename Values = std::tuple<>, typename SelectStmt = std::nullopt_t, typename ReturningColumns = std::tuple<>>
template<typename Select >
requires SqlExpr<Select>
| auto relx::query::InsertQuery< Table, Columns, Values, SelectStmt, ReturningColumns >::select |
( |
const Select & |
select | ) |
const |
|
inline |
Set a SELECT query to use for INSERT ... SELECT statements.
- Template Parameters
-
| Select | The SELECT query type |
- Parameters
-
- Returns
- New InsertQuery with the SELECT query set
Definition at line 291 of file insert.hpp.
template<TableType Table, typename Columns = std::tuple<>, typename Values = std::tuple<>, typename SelectStmt = std::nullopt_t, typename ReturningColumns = std::tuple<>>
Generate the SQL for this INSERT query.
- Returns
- The SQL string
Definition at line 184 of file insert.hpp.
template<TableType Table, typename Columns = std::tuple<>, typename Values = std::tuple<>, typename SelectStmt = std::nullopt_t, typename ReturningColumns = std::tuple<>>
template<typename... Args>
Add a row of values to insert.
- Template Parameters
-
| Args | The value expression types or raw value types |
- Parameters
-
| args | The values to insert (automatically wrapped with val() if not already SqlExpr) |
- Returns
- New InsertQuery with the values added
Definition at line 255 of file insert.hpp.