【问题标题】:ORA-00936: missing expression(UPDATED) [closed]ORA-00936: 缺少表达式(已更新)[关闭]
【发布时间】:2015-06-18 02:05:40
【问题描述】:
UPDATE TBL_TRAIN_LIST SET SEAT=t.TOTAL 
(SELECT ANAM.NAME,ANAM.SEAT,ANAM2.TRAIN_NAME,
 ANAM2.SEAT,  ANAM2.SEAT - ANAM.SEAT  AS TOTAL 
 FROM TBL_PASSENGER ANAM, TBL_TRAIN_LIST ANAM2 
WHERE ANAM.NO=ANAM2.ID ) t
where TBL_TRAIN_LIST.ID=TBL_PASSENGER.NO;

【问题讨论】:

  • 你的问题是?如果我不得不猜测,我会说您正在寻找 SET 语句中的 UPDATE 子句。
  • 是的政治家你是对的
  • ORA-00933: SQL 命令未正确结束

标签: oracle11g


【解决方案1】:

该语法看起来不正确。尝试将您的查询更改为如下所示

UPDATE  
(SELECT ANAM.NAME,
ANAM.SEAT as NEWSEAT,
ANAM2.TRAIN_NAME,
ANAM2.SEAT,  
ANAM2.SEAT - ANAM.SEAT  AS TOTAL 
FROM TBL_PASSENGER ANAM
INNER JOIN TBL_TRAIN_LIST ANAM2 
ON ANAM.NO = ANAM2.ID ) t
SET t.NEWSEAT = t.TOTAL;

【讨论】:

  • ORA-01438: 值大于该列允许的指定精度
  • Rahul bro 现在的错误是“ORA-01438:值大于此列允许的指定精度”
  • 这不是答案中的查询的问题,而是您的列定义的问题。我的意思是列的大小。看起来那是一个浮点/双精度类型的列,
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-18
  • 2017-08-31
  • 1970-01-01
相关资源
最近更新 更多