【问题标题】:DB2 Temp Tables: Not storing or not retrieving informationDB2 临时表:不存储或不检索信息
【发布时间】:2009-05-29 16:37:44
【问题描述】:

我是一名 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;

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

【问题讨论】:

    标签: sql db2 temp-tables


    【解决方案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。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-15
        • 1970-01-01
        相关资源
        最近更新 更多