2009-05-29 4 views
1

저는 MSSQL 사용자입니다.하지만 임시 테이블을 만들고 삽입하고 필요한 정보를 제공해야하는 DB2 쿼리를 작성하고 있습니다. 훨씬 단축 된 테스트로서 동일한 결과를 제공하는 다음 쿼리를 사용하고 있습니다.DB2 Temp Tables : 정보를 저장하지 않거나 검색하지 않음

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; 

0 행이 반환됩니다. 왜 그랬을까요? 테이블 공간을 생성하고 쿼리를 통해 테이블이 범위 내에 있는지 확인했습니다.

답변

0

무의식적으로 내 테이블 (예 : 사용자 X의 경우 X.temp1을 만들 수 있음)을 만들 수있었습니다. 이 쿼리는 한 번만 실행하면되므로 제대로 작동합니다. 감사.

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 또는 ON ROWS를 유지 COMMIT ... 두 가지 옵션이 있습니다.

관련 문제