CommonTableExpression<Row>
-
Creates a common table expression from a request.
For example:
// WITH p AS (SELECT * FROM player) ... let p = CommonTableExpression( named: "p", request: Player.all()) // WITH p AS (SELECT * FROM player) ... let p = CommonTableExpression( named: "p", request: SQLRequest<Player>(sql: "SELECT * FROM player"))
-
Creates a common table expression from an SQL string and optional arguments.
For example:
// WITH p AS (SELECT * FROM player WHERE name = 'O''Brien') ... let p = CommonTableExpression( named: "p", sql: "SELECT * FROM player WHERE name = ?", arguments: ["O'Brien"])
-
Creates a common table expression from an SQL literal.
Literals allow you to safely embed raw values in your SQL, without any risk of syntax errors or SQL injection:
// WITH p AS (SELECT * FROM player WHERE name = 'O''Brien') ... let name = "O'Brien" let p = CommonTableExpression( named: "p", literal: "SELECT * FROM player WHERE name = \(name)")