sinat_29774479
古柏树下
采纳率100%
2017-06-27 06:50

oracle两个表关联查询更新 [Err] ORA-00971: 缺失 SET 关键字

  • sql
  • 数据库操作
已采纳

现有两个表 根据表a的remark字段 到表b查询内容相同的toolsname 后把toolsname对应的toolsid 填到表a 的 PRE_LIP_ID中

我写的语句如下:
UPDATE MES_PRODUCE_TOOLS AS T1
SET PRE_LIP_ID = (
SELECT
TOOLS_ID
FROM
MES_PRODUCE_TOOLS_COPY AS T2
WHERE
T1.REMARK = T2.TOOLS_NAME
)
WHERE
T1.REMARK = T2.TOOLS_NAME;

一直报缺失 SET 关键字
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • fight_in_dl 战在春秋 4年前
     去掉 AS。
    

    用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!

    点赞 2 评论 复制链接分享
  • qq_26306781 我就是A 4年前

    UPDATE MES_PRODUCE_TOOLS

    set (PRE_LIP_ID) =
    (SELECT TOOLS_ID
    FROM MES_PRODUCE_TOOLS_COPY
    WHERE MES_PRODUCE_TOOLS.REMARK = MES_PRODUCE_TOOLS_COPY.TOOLS_NAME)

    点赞 1 评论 复制链接分享
  • Z_Dong_Dong_Y 嫣尘美 4年前

    SELECT
    TOOLS_ID
    FROM
    MES_PRODUCE_TOOLS_COPY AS T2
    WHERE
    T1.REMARK = T2.TOOLS_NAME

    这里查出来的值是不是一个的?如果是多个的话那就会错。把as去掉。

    点赞 评论 复制链接分享