【问题标题】:about SQLCODE -104 (error) during select in DB2关于 DB2 中选择期间的 SQLCODE -104(错误)
【发布时间】: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 子句——你必须SELECT FROM 一些东西。
  • 非常感谢mustaccio :)
  • 非常感谢 Uueerdo :)

标签: db2 db2-zos


【解决方案1】:

你不应该将一个语句连接在一起,除非你正在构建一个你打算PREPAREEXECUTE的动态语句

 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)); 

【讨论】:

  • 非常感谢 Charles,是的,我正在尝试构建动态声明
  • 感谢大家的宝贵 cmets - 感谢我的所有问题都解决了 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-20
  • 1970-01-01
  • 1970-01-01
  • 2014-01-22
  • 1970-01-01
相关资源
最近更新 更多