Directs the database system to store the lists from tables in a
specified storage area or in a set of areas. You can create only
one storage map for lists within each database.
You must specify the default storage area for lists in the STORE
LISTS clause. The default list storage area contains lists from
system tables as well as lists not directed elsewhere by the
STORE LISTS clause. You can also use the LIST STORAGE AREA clause
of the CREATE DATABASE statement to specify a default storage
area for lists. If you do not use the STORE LISTS clause and do
not specify a list storage area in the CREATE DATABASE statement,
Oracle Rdb uses the default storage area as the default list
storage area. The following example directs Oracle Rdb to place
all lists in the LISTS storage area unless otherwise specified in
a storage map:
SQL> CREATE DATABASE FILENAME mf_personnel
SQL> LIST STORAGE AREA IS LISTS
SQL> CREATE STORAGE AREA LISTS;
The accompanying storage map statement must also specify the
LISTS storage area as the default storage area.
SQL> CREATE STORAGE MAP LISTS_MAP
cont> STORE LISTS IN LISTS1 FOR (EMPLOYEES.RESUME)
cont> IN LISTS;
You can use an area set to specify that data is to be distributed
across several areas. The following example shows how you can
store data in three storage areas (LISTS1, LISTS2, and LISTS3)
for two different columns in TABLE1. The default list storage
area is LISTS1.
CREATE STORAGE MAP LISTS_MAP
STORE LISTS IN (LISTS1,LISTS2,LISTS3) FOR (TABLE1.COL1,TABLE1.COL2)
IN LISTS1;
You can store lists from different tables in the same area. The
following example shows how you can store data from TABLE1,
TABLE2, and TABLE3 in the LISTS storage area. The default list
storage area is RDB$SYSTEM.
SQL> CREATE STORAGE MAP LISTS_MAP -- to direct the list data to area LISTS
cont> STORE LISTS IN LISTS FOR (TABLE1, TABLE2, TABLE3)
cont> IN RDB$SYSTEM;
Alternatively, you can store lists from each table in unique
areas. The following example shows list data from TABLE1 being
stored in the LISTS1 storage area and list data from TABLE2 being
stored in the LISTS2 storage area. The default list storage area
is RDB$SYSTEM.
CREATE STORAGE MAP LISTS_MAP
STORE LISTS IN LIST1 FOR (TABLE1)
IN LIST2 FOR (TABLE2)
IN RDB$SYSTEM;
You can also specify that different columns from the same table
go into different areas. The following example shows data from
different columns in TABLE1 being stored in either LISTS1 or
LISTS2. The default list storage area is RDB$SYSTEM.
CREATE STORAGE MAP LISTS_MAP
STORE LISTS IN LISTS1 FOR (TABLE1.COL1)
IN LISTS2 FOR (TABLE1.COL2)
IN RDB$SYSTEM;