SQL-OPERATION
Prev | The Symbolic SQL Syntax | Next

## Name

SQL-OPERATION — Constructs an SQL expression from a supplied operator and arguments.Function

## Syntax

          sql-operation operator &rest args => result

          sql-operation 'function func &rest args => result

## Arguments and Values

`operator`

  A symbol denoting an SQL operator.

`func`

  A string denoting an SQL function.

`args`

  A set of arguments for the specified SQL operator or function.

result

  A object of type `sql-expression`.

## Description

Returns an SQL expression constructed from the supplied SQL operator or function `operator` and its arguments `args`. If `operator` is passed the symbol 'function then the first value in `args` is taken to be a valid SQL function and the remaining values in `args` its arguments.

## Examples

    (sql-operation 'select
              (sql-expression :table 'foo :attribute 'bar)
              (sql-operation 'sum  (sql-expression :table 'foo :attribute 'baz))
              :from
              (sql-expression :table 'foo)
              :where
              (sql-operation '> (sql-expression :attribute 'bar) 12)
              :order-by (sql-operation 'sum (sql-expression :attribute 'baz)))
    => #<SQL-QUERY SELECT FOO.BAR,SUM(FOO.BAZ) FROM FOO WHERE (BAR > 12) ORDER BY SUM(BAZ)>

    (sql-operation 'function "strpos" "CLSQL" "SQL")
    => #<CLSQL-SYS:SQL-FUNCTION-EXP STRPOS('CLSQL','SQL')>

## Side Effects

None.

## Affected by

None.

## Exceptional Situations

An error of type `sql-user-error` is signalled if `operator` is not a symbol representing a supported SQL operator.

## See Also

`sql`
`sql-expression`
`sql-operator`

## Notes

None.

Prev | Up | Next
SQL-EXPRESSION | Home | SQL-OPERATOR