If into table class name is specified, the result of the query will be stored in a new class with the indicated name.
The order by clause allows a user to specify that he wishes the instances sorted according to the corresponding operator. This operator must be a binary one returning a boolean. Multiple sort fields are allowed and are applied from left to right.
The target list specifies the fields to be retrieved.
Each attr_name specifies the desired attribute or portion of an array
attribute. Thus, each attr_name takes the form class_name.att_name
or,
if the user only desires part of an array, --
--Specify a lower and upper
index for each dimension
--(i.e., clip a range of array elements)
--
class_name.att_name[lIndex-1:uIndex-1]..[lIndex-i:uIndex-i]
--
--Specify an exact array element
--
class_name.att_name[uIndex-1]..[uIndex-i]
where each lIndex or uIndex is an integer constant.
When you retrieve an attribute which is of a complex type, the behavior of the system depends on whether you used "nested dots" to project out attributes of the complex type or not. See the examples below.
You must have read access to a class to read its values (see grant/revoke(l) .
If the backend crashes in the course of executing a select into, the class file will remain on disk. It can be safely removed by the database DBA, but a subsequent select into to the same name will fail with a cryptic error message about `BlockExtend'.