====== DECLARE TEMPORARY TABLE ======
DECLARE TEMPORARY TABLE statement allows you to define a temporary table for the current session.
**Syntax**:
DECLARE [GLOBAL] TEMPORARY TABLE table_name
(
column_name data_type [NULL | NOT NULL]
[, ...]
)
[ ON COMMIT DELETE ROWS | ON COMMIT PRESERVE ROWS]
==== Compatibility Options ====
The following options are supported for compatibility with other databases:
**IBM DB2:**
IN tablespace_name
WITH REPLACE
DISTRIBUTE BY HASH (col, ...)
LOGGED | NOT LOGGED
For more details how temporary table support is implemented in HPL/SQL, see [[temporary-tables|Native and Managed Temporary Tables]].
**Example**:
Create a managed temporary table and use it in other SQL statements:
SET hplsql.temp.tables = managed;
DECLARE TEMPORARY TABLE temp1
(
c1 INT,
c2 STRING
);
INSERT INTO temp1 SELECT 1, 'A' FROM dual;
SELECT * FROM temp1;
**Compatibility:** IBM DB2
**Version**: HPL/SQL 0.03
See also:
* [[temporary-tables|Native and Managed Temporary Tables]]
* [[create-local-temporary-table|CREATE LOCAL TEMPORARY TABLE]]
* [[create-volatile-table|CREATE VOLATILE TABLE]]
~~NOTOC~~