我不确定,为什么在我的 SQL Editor for DB2(DB2 for z/OS)中执行以下 SQL 时出现以下错误
DECLARE GLOBAL TEMPORARY TABLE SESSION.VTI_GUI_TMP (
ENCRP_PRC_RL_ID INTEGER NOT NULL,
PROC_SYS_CD VARCHAR(10) NOT NULL,
VER_KEY_SET_CD VARCHAR(10) NOT NULL,
TRNSLT_TP_CD VARCHAR(10) NOT NULL,
SET_INDEX_NUM VARCHAR(10) NOT NULL,
SET_MDK_DKI_NUM VARCHAR(10) NOT NULL,
PACKET_NUM INTEGER NOT NULL ) ON COMMIT PRESERVE ROWS;
INSERT INTO SESSION.VTI_GUI_TMP (
ENCRP_PRC_RL_ID, PROC_SYS_CD, VER_KEY_SET_CD, TRNSLT_TP_CD,
SET_INDEX_NUM, SET_MDK_DKI_NUM, PACKET_NUM
)
VALUES (500159, 'DB', 'MDK', '0', '1', '001', 766473)
UNION ALL
(500151, 'DB', 'MDK', '0', '2', '002', 766473);
select * from SESSION.VTI_GUI_TMP;
DROP TABLE SESSION.VTI_GUI_TMP;
在执行上述 SQL 时,出现以下错误
非法使用关键字联合。预计非原子代币。SQLCODE=-199,SQLSTATE=42601,DRIVER=3.63.75 SQL 代码:-199,SQL 状态:42601
错误发生在:INSERT INTO SESSION.VTI_GUI_TMP(ENCRP_PRC_RL_ID、PROC_SYS_CD、VER_KEY_SET_CD、TRNSLT_TP_CD、SET_INDEX_NUM、SET_MDK_DKI_NUM、PACKET_NUM)值(500159、'DB'、'MDK'、'0'、'1'、'001'、76643)联合所有(500151,'DB','MDK','0','2','002',766473)
我们如何解决上述错误?我不想将 SELECT 语句与 UNION ALL 一起使用来修复。有什么办法可以使这项工作。
我正在使用以下 DB2 版本
SELECT GETVARIABLE('SYSIBM.VERSION') FROM SYSIBM.SYSDUMMY1
-----------
DSN11015
我究竟做错了什么?