执行sql报错: 坐等答案 为什么不能执行,会报错:ora-00933

一般在oracle中报错为ora-00933是因为sql命令没有正确结束导致的,有这个语法错误就不能执行,需要检查sql语法解决。1、比如有以下sql报错:UPDATE PEOPLE SET PEOPLE.SURNAME = HR_DATA_IMPORT.SURNAME INNER JOIN PEOPLE ON HR_DATA_IMPORT.NI.NO = PEOPLE.NI_NUMBER;2、以上sql执行会报错ora-00933,...
执行sql报错: 坐等答案 为什么不能执行,会报错:ora-00933
就看出一点毛病,就是union 前那句不要order by ,同样后一句也把order by 去掉

如果你两句单独运行没问题的话,排序可以这样
select t.* from
(查询一
union all
查询二) as t
order by 某字段

还有你zy和dy应该给这列起个别名2013-11-20
一般在oracle中报错为ora-00933是因为sql命令没有正确结束导致的,有这个语法错误就不能执行,需要检查sql语法解决。
1、比如有以下sql报错:

UPDATE PEOPLE
SET PEOPLE.SURNAME = HR_DATA_IMPORT.SURNAME
INNER JOIN PEOPLE ON HR_DATA_IMPORT.NI.NO = PEOPLE.NI_NUMBER;
2、以上sql执行会报错ora-00933,是因为暗含了一个子查询,set值的时候需要用子查询的结果:
正确的修改如下:
UPDATE PEOPLE a
SET a.SURNAME = (
select b.SURNAME
from PEOPLE b
where b.NI.NO = a.NI_NUMBER
)2017-04-16
去掉第一个语句后的order by t.prjcode2013-11-20
mengvlog 阅读 8 次 更新于 2025-07-21 00:08:37 我来答关注问题0
檬味博客在线解答立即免费咨询

报错相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部