DB2临时表:不存储或不存储信息

时间:2009-05-29 16:37:44

标签: sql db2 temp-tables

我是MSSQL人员,但我正在研究一个需要创建临时表,插入其中并使用它做事的DB2查询。作为一个缩短的测试,我使用以下查询,它提供相同的结果..

declare global temporary table tt_testingSyntax (id int);
insert into session.tt_testingSyntax (id) values (1);
insert into session.tt_testingSyntax (id) values (2);
insert into session.tt_testingSyntax (id) values (3);
insert into session.tt_testingSyntax (id) values (4);
select * from session.tt_testingSyntax;

返回零行。那为什么会这样?我创建了表空间并验证了表在整个查询范围内。

2 个答案:

答案 0 :(得分:1)

尝试:

declare global temporary table tt_testingSyntax (id int) 
ON COMMIT PRESERVE ROWS NOT LOGGED;

insert into session.tt_testingSyntax (id) values (1);
insert into session.tt_testingSyntax (id) values (2);
insert into session.tt_testingSyntax (id) values (3);
insert into session.tt_testingSyntax (id) values (4);
select * from session.tt_testingSyntax;

有两个选项...... ON COMMIT DELETE ROWS(默认值)或ON COMMIT PRESERVE ROWS。

答案 1 :(得分:0)

我最终在不知不觉中有权创建自己的表(即对于用户X,我可以创建X.temp1)。由于此查询只需运行一次,因此工作正常。感谢。