【发布时间】:2021-02-17 20:13:00
【问题描述】:
以下查询在 DB2 LUW 中运行时有效。
SELECT
TEMP1.SINIESTRO,
TEMP1.POLIZA
FROM TABLE(VALUES
('00000031955190','0107737793'),
('00000118659978','0107828212'),
('00000118978436','0095878120'),
('00000122944473','0106845043')
) TEMP1(SINIESTRO, POLIZA);
当我尝试在 DB2 for z/OS 中使用它时,我收到以下错误:
SQL 错误 [42601]:非法符号“,”。一些可能合法的符号是:在 CARDINALITY OVER 内)。 SQLCODE=-104, SQLSTATE=42601, DRIVER=3.72.24
我也尝试过 CTE。
WITH X(foo, bar, baz) AS (
VALUES (0, 1, 2), (3, 4, 5), (6, 7, 8)
) SELECT * FROM X;
我得到了这个错误:
SQL 错误 [42601]:非法符号“X”。一些可能合法的符号是:DSN_INLINE_OPT_HINT。 SQLCODE=-104, SQLSTATE=42601, DRIVER=3.72.24
知道我应该改变什么才能让它工作吗?
【问题讨论】:
-
VALUES 语句在 Db2-for-Z/OS 中尚不可用,因此请替换为对 sysibm.sysdummy1 或临时表的查询。