DECLARE GLOBAL TEMPORARY TABLE ???

The DECLARE GLOBAL TEMPORARY TABLE statement defines a temporary table for the current connection.

??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????????????????????????????????????

??????????????????????????????????????????????????????
  • ??????????????????????????????????????????????????????????????????????????????
  • ??????????????????????????????????????????????????????????????????
  • ?????????????????????????????????????????????????????????????????????????????????????????????
  • ?????????????????????????????????????????????????????????????????????????????????????????????

??????

DECLARE GLOBAL TEMPORARY TABLE ??????
    { ????????? [ , ????????? ] * }
[ ON COMMIT {DELETE | PRESERVE} ROWS ]  
NOT LOGGED [ON ROLLBACK DELETE ROWS]
 

??????

???????????????????????????SESSION?????????????????????????????????????????????????????????????????????????????????(SQLSTATE 428EK) ???????????????????????????????????????????????????SESSION???????????????????????? ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

SESSION???????????????????????????????????????????????????????????????????????????????????????????????????????????? SESSION????????????????????????????????????????????????????????????????????????????????????

?????????

?????????????????????????????????????????????CREATE TABLE?????????????????????????????? DECLARE GLOBAL TEMPORARY TABLE??????????????????????????????????????????????????????

????????????

???????????????????????????????????????????????????
  • BIGINT
  • CHAR
  • DATE
  • DECIMAL
  • DOUBLE
  • DOUBLE PRECISION
  • FLOAT
  • INTEGER
  • NUMERIC
  • REAL
  • SMALLINT
  • TIME
  • TIMESTAMP
  • VARCHAR

ON COMMIT

COMMIT????????????????????????????????????????????????????????????

DELETE ROWS

???????????????????????????????????????????????????????????????????????????????????????????????????ON COMMIT?????????????????? ??????ON ROLLBACK DELETE ROWS??????????????????????????????????????????????????????????????????????????????????????????????????? ON COMMIT DELETE ROWS??????????????????????????????????????????????????????????????????????????????????????????????????????(???????????????????????????????????????????????????)???

PRESERVE ROWS

????????????????????????????????????

NOT LOGGED

??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ROLLBACK(????????????ROLLBACK TO SAVEPOINT)?????????????????????????????????(?????????????????????????????????)???????????????????????????????????????????????????????????????????????????????????????(?????????????????????????????????)???????????????????????????????????????????????????????????????????????????

ON ROLLBACK DELETE ROWS

?????????NOT LOGGED??????????????????NOT LOGGED [ON ROLLBACK DELETE ROWS ]]????????????ROLLBACK????????????ROLLBACK TO SAVEPOINT?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

???

set schema myapp;

create table t1(c11 int, c12 date);

declare global temporary table SESSION.t1(c11 int) not logged;
-- ????????????SESSION?????????????????????????????????????????????
-- SESSION?????????????????????????????????
declare global temporary table t2(c21 int) not logged; 
-- ????????????SESSION?????????????????????????????????????????????
-- ???????????????SESSION??????????????????????????????

insert into SESSION.t1 values (1); 
-- ????????????????????????"myapp."????????????????????????????????????SESSION?????????????????????????????????

select * from t1; 
-- ??????SESSION??????????????????????????????????????????
-- ??????select??????"myapp.t1"??????????????????????????????

???: ????????????SESSION?????????????????????????????????????????? ????????????SESSION??????????????????????????????????????????????????????????????????????????????
??????DB2 UDB???????????????DECLARE GLOBAL TEMPORARY TABLE????????????Derby????????????????????????
  • IDENTITY column-options
  • IDENTITY attribute in copy-options
  • AS (fullselect) DEFINITION ONLY
  • NOT LOGGED ON ROLLBACK PRESERVE ROWS
  • IN tablespace-name
  • PARTITIONING KEY
  • WITH REPLACE

Declared Global Temporary Tables???????????????

Derby???????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????????????????Derby????????????????????????

??????????????????????????????????????????????????????
  • ALTER TABLE
  • CREATE INDEX
  • CREATE SYNONYM
  • CREATE TRIGGER
  • CREATE VIEW
  • GRANT
  • LOCK TABLE
  • RENAME
  • REVOKE

????????????????????????????????????????????????

?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

???????????????????????????????????????????????????????????????
  • BLOB
  • CHAR FOR BIT DATA
  • CLOB
  • LONG VARCHAR
  • LONG VARCHAR FOR BIT DATA
  • VARCHAR FOR BIT DATA
  • XML