我尝试了很多DECLARE
和CREATE
的排列,但我无法显示临时表中的任何数据。这是最新的迭代:
DECLARE GLOBAL TEMPORARY TABLE session.temporary_table (ACTNO CHAR);
INSERT INTO session.temporary_table VALUES ('1'), ('2');
SELECT * FROM session.temporary_table;
SELECT DISTINCT ACTKWD FROM JMILLER.ACT INNER JOIN session.temporary_table ON ACT.ACTNO = session.temporary_table.ACTNO;
DROP TABLE session.temporary_table;
第一个SELECT
是查看temporary_table
中是否有任何内容。似乎没有。
即使我在这个工具中测试查询,它也说明它的每一行都正确完成了。
我在sql语句中做错了什么?我之前遇到了权限问题,但现在似乎没问题,我没有收到任何错误,所以它必须在我的代码中。
答案 0 :(得分:1)
您没有添加条款ON COMMIT PRESERVE ROWS
。
另外,看看你是否可以通过使用CTE(WITH
语句)
答案 1 :(得分:-1)
修改为
SELECT DISTINCT ACTKWD FROM JMILLER.ACT t0 INNER JOIN session.temporary_table t1 ON t0.ACTNO = t1.ACTNO;