All Manuals > LispWorks User Guide and Reference Manual > 47 The SQL Package

NextPrevUpTopContentsIndex

do-query

Macro
Summary

Repeatedly binds a set of variables to the results of a query, and executes a body of code using the bound variables.

Package

sql

Signature

do-query ((&rest args) query &key database not-inside-transaction get-all) &body body =>

Arguments

args

A set of variables.

query

A database query or a prepared-statement containing a query.

database

A database.

not-inside-transaction

A generalized boolean.

get-all

A generalized boolean.

body

A Lisp code body.

Values

None.

Description

The macro do-query repeatedly executes body within a binding of args on the attributes of each record resulting from query. do-query returns no values.

The default value of database is *default-database*.

not-inside-transaction and get-all may be useful when fetching many records through a connection with database-type :mysql. Both of these arguments have default value nil. See the section Special considerations for iteration functions and macros for details.

Example

The following code repeatedly binds the result of selecting an entry in ename from the table emp to the variable name, and then prints name using the Lisp function print.

(do-query ((name) [select [ename] :from [emp]])
         (print name))
See also

loop
map-query
prepare-statement
query
select
simple-do-query


LispWorks User Guide and Reference Manual - 20 Sep 2017

NextPrevUpTopContentsIndex