Selecto.Advanced.ValuesClause
(Selecto v0.4.5)
Copy Markdown
VALUES clause support for inline table generation and data transformations.
VALUES clauses allow creating inline tables from literal data, useful for lookup tables, data transformations, and testing scenarios.
Examples
# Basic VALUES table
selecto
|> Selecto.with_values([
["PG", "Family Friendly", 1],
["PG-13", "Teen", 2],
["R", "Adult", 3]
],
columns: ["rating_code", "description", "sort_order"],
as: "rating_lookup"
)
# Map-based VALUES
selecto
|> Selecto.with_values([
%{month: 1, name: "January", days: 31},
%{month: 2, name: "February", days: 28},
%{month: 3, name: "March", days: 31}
], as: "months")
Summary
Functions
Create a VALUES clause specification.
Validate VALUES clause data and infer column information.
Functions
Create a VALUES clause specification.
Parameters
data- List of data rows (lists or maps)opts- Options including :columns, :as (alias)
Examples
# List of lists format
ValuesClause.create_values_clause([
["PG", "Family", 1],
["R", "Adult", 3]
], columns: ["code", "desc", "order"], as: "ratings")
# Map format (columns inferred)
ValuesClause.create_values_clause([
%{id: 1, name: "Alice"},
%{id: 2, name: "Bob"}
], as: "users")
Validate VALUES clause data and infer column information.
Ensures data consistency and infers column names and types.