【发布时间】:2016-06-21 13:56:39
【问题描述】:
我正在编写一个程序,用于向证书设置在未来 3 个月内到期的员工发送电子邮件。由于一些员工已经更新了他们的认证,我正在创建一个“Good Ids”临时表,即拥有至少三个月不会过期的认证的员工。
为此,我正在使用:
CREATE GLOBAL TEMPORARY TABLE GOOD_IDS(
INTERNAL_EMPL_ID VARCHAR(10)
) ON COMMIT PRESERVE ROWS;
INSERT INTO GOOD_IDS (
SELECT DISTINCT (INTERNAL_EMPL_ID)
FROM LICENSE
WHERE LICENSE_TYP_CD IN ('STD') AND EXPIRATION_DT >= CURRENT DATE + 3 months);
SELECT * FROM GOOD_IDS
我自己运行了第二个选择,并且可以确认它返回了大约 3000 行。但是,当我运行所有三个时,我得到零行。我错过了什么?
【问题讨论】:
-
去掉括号,即做
INSERT INTO GOOD_IDS SELECT DISTINCT ...? -
不。删除插入上的括号并没有解决它。
标签: sql db2 temp-tables