Returns type information for a table's attributes.
sql
list-attribute-types table &key database owner => result
| table⇩ |
A table. |
| database⇩ |
A database. |
| owner⇩ | nil, :all or a string. |
| result⇩ |
A list. |
The function list-attribute-types returns type information for the attributes in the table given by table in database.
database defaults to the value of *default-database*.
If owner is nil, only user-owned attributes are considered. This is the default.
If owner is :all, all attributes are considered.
If owner is a string, this denotes a username and only attributes owned by owner are considered.
result is a list in which each element is a list (attribute datatype precision scale nullable). attribute is a string denoting the attribute name. datatype is the vendor-specific type as described in attribute-type. nullable is 1 if the attribute accepts the value NULL, and 0 otherwise.
When using ODBC to connect to Access database, the nullable value is not reliable, at least on version 7.1. There seems to be a bug in the driver. Using ODBC with other DBMS works as documented.
To print the type of every attribute in the database, do:
(loop for tab in
(sql:list-tables)
do
(loop for type-info in
(sql:list-attribute-types tab)
do
(format t "~&Table ~S Attribute ~S Type ~S"
tab
(first type-info)
(second type-info))))
LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:30:56