Structure
SQLCommonTableExpression
A clause describing a single Common Table Expressions, which in itws simplest form provides additional data to a primary query in the same way as joining to a subquery.
struct SQLCommonTableExpression
Overview
Note
There is no SQLDialect flag for CTE support, as CTEs are supported by all of the databases for which first-party drivers exist at the time of this writing (although they are not available in MySQL 5.7, which is long since EOL and should not be in use by anyone anymore).
Topics
Initializers
init(alias: some SQLExpression, query: some SQLExpression)Create a new Common Table Expression.
Instance Properties
var alias: any SQLExpressionThe name used to refer to the CTE’s data.var columns: [any SQLExpression]A list of column names yielded by the CTE. May be empty.var isRecursive: BoolIndicates whether the CTE is recursive, e.g. whether its query is aUNIONwhose second subquery refers to the CTE’s own aliased name.var query: any SQLExpressionThe subquery which yields the CTE’s data.
Instance Methods
func serialize(to: inout SQLSerializer)Invoked when a request is made to serialize the expression to raw SQL.
Relationships
Conforms To
SQLExpressionSwift.SendableSwift.SendableMetatype
See Also
Clause Expressions
struct SQLAlterColumnDefinitionTypeA clause specifying a new data type to be applied to an existing column.struct SQLColumnAssignmentEncapsulates acolumn_name=valueexpression in the context of anUPDATEquery’s value assignment list. This is distinct from anSQLBinaryExpressionusing the.equaloperator in that the left side must be an unqualified column name, the operator must be=, and the right side may useSQLExcludedColumnwhen the assignment appears in theassignmentslist of aSQLConflictAction.update(assignments:predicate:)specification.enum SQLColumnConstraintAlgorithmColumn-level data constraints.struct SQLColumnDefinitionA clause expressing a column definition, for use when creating and altering tables.struct SQLCommonTableExpressionGroupA clause representing a group of one or moreSQLCommonTableExpressions.enum SQLConflictActionAn action to take when anINSERTquery encounters a unique constraint violation.struct SQLConflictResolutionStrategySpecifies a conflict resolution strategy and associated conditions for anINSERTquery. AnINSERTwith a conflict strategy is often refered to as anUPSERT(“insert or update”). Databases are not required to support any given subset of upsert functionality, or any at all.enum SQLDropBehaviorSpecifies a behavior when performing aDROPoperation on a database object which is referenced by other objects.struct SQLEnumDataTypeRepresents a data type which specifies an enumeration in the database.struct SQLExcludedColumnAn expression appearing on the right side of a column assignment which, when the assignment list is part of an upsert’s update acion, refers to the value which was originally to be inserted for the given column.struct SQLForeignKeyA completeFOREIGN KEYconstraint specification.struct SQLInsertModifierSimple helper for working around MySQL’s refusal to implement standard SQL. Only emits SQL when needed.struct SQLJoinEncapsulates a single SQLJOIN, specifying the join type, the right-side table, and condition.enum SQLJoinMethodThe method used by a table join clause.enum SQLLockingClauseAn SQL locking clause.