首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >这个更新SQL语法有什么问题?

这个更新SQL语法有什么问题?
EN

Stack Overflow用户
提问于 2019-08-06 08:01:40
回答 1查看 109关注 0票数 2

作为数据迁移的一部分,尝试根据另一个表中的值更新表中的列。所有列都存在于联接中的两个表中,但当我运行以下命令时将收到意外的错误消息:

代码语言:javascript
运行
复制
UPDATE CSB 
SET  IFS10_SCHEDULE = CS.SCHEDULE_NO
FROM IC_U_CUSTOMER_SCHED_B CSB
JOIN CUST_SCHED CS
       ON     CSB.CUSTOMER_NO = CS.CUSTOMER_NO
          AND CS.SHIP_ADDR_NO = CSB.SHIP_ADDR_NO
          AND CSB.CUSTOMER_PART_NO = CS.CUSTOMER_PART_NO
          AND CSB.DOC_NO = CS.DOC_NO
          AND CSB.AGREEMENT_ID = CS.AGREEMENT_ID
          AND CSB.CUST_SCHEDULE_TYPE = CS.CUST_SCHEDULE_TYPE;

我收到错误:

代码语言:javascript
运行
复制
Error at Command Line : 3 Column : 1
Error report -
SQL Error: ORA-00933: SQL command not properly ended
00933. 00000 -  "SQL command not properly ended"
*Cause:    
*Action:

我肯定这一定是语法问题,但不知道在哪里。有什么想法吗?

编辑-谢谢,解决方案。为了学习的目的(我在过去20年中做了this,只是学习PL-SQL),我也重新编写了这个查询,作为一个合并,但这也失败了。这里有明显的问题吗?

代码语言:javascript
运行
复制
MERGE INTO IC_U_CUSTOMER_SCHED_B CSB
USING CUST_SCHED CS
ON (CSB.CUSTOMER_NO = CS.CUSTOMER_NO
          AND CS.SHIP_ADDR_NO = CSB.SHIP_ADDR_NO
          AND CSB.CUSTOMER_PART_NO = CS.CUSTOMER_PART_NO
          AND CSB.DOC_NO = CS.DOC_NO
          AND CSB.AGREEMENT_ID = CS.AGREEMENT_ID
          AND CSB.CUST_SCHEDULE_TYPE = CS.CUST_SCHEDULE_TYPE)
WHEN MATCHED THEN UPDATE SET CSB.IFS10_SCHEDULE = CS.SCHEDULE_NO
WHERE CSB.IFS10_SCHEDULE != CS.SCHEDULE_NO;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-06 08:04:18

应该是

代码语言:javascript
运行
复制
UPDATE ic_u_customer_sched_b csb
   SET csb.ifs10_schedule =
          (SELECT cs.schedule_no
             FROM cust_sched cs
            WHERE     csb.customer_no = cs.customer_no
                  AND cs.ship_addr_no = csb.ship_addr_no
                  AND csb.customer_part_no = cs.customer_part_no
                  AND csb.doc_no = cs.doc_no
                  AND csb.agreement_id = cs.agreement_id
                  AND csb.cust_schedule_type = cs.cust_schedule_type);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57371479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档