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??????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????????????????ON COMMIT?????????????????? ??????ON ROLLBACK DELETE ROWS??????????????????????????????????????????????????????????????????????????????????????????????????? ON COMMIT DELETE ROWS??????????????????????????????????????????????????????????????????????????????????????????????????????(???????????????????????????????????????????????????)???
????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ROLLBACK(????????????ROLLBACK TO SAVEPOINT)?????????????????????????????????(?????????????????????????????????)???????????????????????????????????????????????????????????????????????????????????????(?????????????????????????????????)???????????????????????????????????????????????????????????????????????????
?????????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"??????????????????????????????
Derby???????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????????????????Derby????????????????????????
????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????