【发布时间】:2016-06-21 18:24:52
【问题描述】:
我一直在尝试将工作中的“INSERT”调整为 SELECT 语句并不断发现错误 -104
a) 有人可以帮我理解“。”的原因吗?当我使用“插入”运行时,“where”子句(如下)有效,但在“select”子句上使用时出现错误? b) 使用 SELECT 时,“INSERT”条件应该如何正确书写?
非常感谢您在此问题上提供的任何帮助
插入:
INSERT INTO SISPD2.SIS_DAILY_RECALC
(CIN_NUM,PGM_DIV_FG,NON_CA_FG,PGM_EXCPT_FG,WTW_FG)
(SELECT C.CIN_NUM, C.PGM_DIV_FG, C.NON_CA_FG, C.PGM_EXCPT_FG,
C.WTW_FG
FROM SISPD2.SIS_INDV C
WHERE C.CIN_NUM NOT IN (SELECT CIN_NUM FROM SISPD2.SIS_DAILY_RECALC)
----------------------------------------------- -------------------------
选择:
SELECT C.CIN_NUM ||','||
C.PGM_DIV_FG ||','||
C.NON_CA_FG ||','||
C.PGM_EXCPT_FG ||','||
C.WTW_FG ||','||
WHERE (C.CIN_NUM NOT IN (SELECT A.CIN_NUM
FROM SISPD2.SIS_DAILY_RECALC A));
DSNT408I SQLCODE = -104,错误:非法符号“.”。一些可能的符号
是合法的:,从进入到
DSNT418I SQLSTATE = 42601 SQLSTATE 返回码
【问题讨论】:
-
标记时要小心。您应该只标记与您的问题相关的 DBMS。
-
不熟悉 db2,并且很难弄清楚您在问什么,但前几天我刚刚遇到(很少支持)
||连接运算符;在我看来,您的第二个查询试图将 WHERE 连接到单个结果字段上,这可能会使查询解析器感到困惑。 -
你错过了
FROM子句——你必须SELECTFROM一些东西。 -
非常感谢mustaccio :)
-
非常感谢 Uueerdo :)