Restrictions on Queue Tables
There are a number of restrictions on queue tables and their use, as detailed in the
Queue tables cannot be temporal tables.
The table definition DDL for a queue table must always specify the keyword QUEUE immediately
following the specification for SET or MULTISET (see “QUEUE Keyword” on page 673).
The first column defined for a queue table must be a user‑defined QITS column (see
“QITS Column” on page 673).
You cannot drop the QITS column from a queue table (see “ALTER TABLE (Basic Table Parameters)” on page 31).
You cannot define the QITS column to be any of the following.
UNIQUE PRIMARY INDEX
Unique secondary index
See the following topics for more information about the uses of, and restrictions
on, identity columns.
“Identity Columns” on page 537
“Rules for Specifying Identity Columns” on page 542
You cannot define a queue table as either an unpartitioned NoPI table (see “Unpartitioned NoPI Tables” on page 575) or as a column‑partitioned table (see “Column‑Partitioned Tables” on page 577).
You cannot define a queue table with either of the following referential integrity
FOREIGN KEY … REFERENCES
You cannot reference queue table columns from a FOREIGN KEY … REFERENCES or REFERENCES
clause in the definition of a different, non‑queue, table.
All other column‑ and table‑level constraint clauses are valid within a queue table
definition with the exception of UNIQUE and PRIMARY KEY constraints not being valid
for the QITS column.
You cannot define any column of a queue table with a BLOB, CLOB, Geospatial, JSON,
XML, ARRAY, or VARRAY data type. For information about BLOB, CLOB, ARRAY, and VARRAY
data types, see SQL Data Types and Literals. For information about Geospatial data types, see SQL Geospatial Types. For information about the JSON data type, see Teradata JSON. For information about the XML data type, see Teradata XML.
Queue tables cannot also be global temporary tables.
Queue tables cannot also be volatile tables.
You cannot specify permanent journals for queue tables.
Because queue tables cannot be global temporary or volatile tables, the following
restrictions also apply to them.
You cannot log their change images to a transaction journal.
In other words, you cannot specify the LOG option for queue tables (see “LOG and NO LOG” on page 520).
You cannot preserve their contents after a transaction completes.
In other words, you cannot specify an ON COMMIT clause for queue tables (see “ON COMMIT DELETE/PRESERVE ROWS” on page 655).
You cannot use the copy table syntax to copy the definition of a queue table. In other
words, neither the source (including a table referenced in a subquery) nor the target
table of a CREATE TABLE AS clause can be a queue table (see “CREATE TABLE (AS Clause)” on page 656).
You cannot define queue tables with a partitioned primary index.
Queue tables are not supported for the following load and export utilities.
If you change the tdlocaledef.txt file and issue a tpareset command, the new format string settings affect only those
tables that are created after the reset. Existing table columns continue to use the extant format string in DBC.TVFields unless you submit an ALTER TABLE request to change it (see “ALTER TABLE (Basic Table Parameters)” on page 31).