Functional Data Manipulation Language (FDML)

The functional data manipulation interface provided by CLSQL includes functions for inserting, updating and deleting records in existing database tables and executing SQL queries and statements with the results of queries returned as Lisp types. SQL statements expressed as strings may be executed with the query and execute-command functions. The select function, on the other hand, allows for the construction of queries in Lisp using the symbolic SQL syntax. Finally, iterative manipulation of query results is supported by do-query, map-query and an extended clause for the loop macro.

Table of Contents

*CACHE-TABLE-QUERIES-DEFAULT* — Specifies the default behaviour for caching of attribute types.
CACHE-TABLE-QUERIES — Control the caching of table attribute types.
INSERT-RECORDS — Insert tuples of data into a database table.
UPDATE-RECORDS — Updates the values of existing records.
DELETE-RECORDS — Delete records from a database table.
EXECUTE-COMMAND — Execute an SQL command which returns no values.
QUERY — Execute an SQL query and return the tuples as a list.
PRINT-QUERY — Prints a tabular report of query results.
SELECT — Executes a query given the supplied constraints.
DO-QUERY — Iterate over all the tuples of a query.
LOOP — Extension to Common Lisp Loop to iterate over all the tuples of a query via a loop clause.
MAP-QUERY — Map a function over all the tuples from a query