免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2392 | 回复: 6

[求助]请教,为什么Select 子句中不能使用ORDER BY [复制链接]

论坛徽章:
0
发表于 2005-07-19 21:06 |显示全部楼层
一个有些奇怪的问题,两个表,a(a.a,a.b),b(b.a,b.b),当执行一个带Select 的insert
into查询时报错:

=================

sql>;
insert into a(a.a)
select b.a from b where b.a="xx" order by b.b

select b.a from b where b.a="xx" order by b.b
*
错误位于第2行:
ORA-00933: SQL 命令不正当的结束
===============


显示不支持order by,去掉order by就可以了。

奇怪的时8.1.5有这个问题,但另一台测试用8.1.7就执行正常,网上查不到相关信息,请问有没有
可能是服务器配置的问题?8.1.5几年前装好,中间进行过几次优化,会不会什么设置禁止了这种用法?如果是版本问题有没有补丁可以解决?

十分感谢

论坛徽章:
0
发表于 2005-07-19 22:11 |显示全部楼层

[求助]请教,为什么Select 子句中不能使用ORDER BY

静待佳音

论坛徽章:
0
发表于 2005-07-19 22:15 |显示全部楼层

[求助]请教,为什么Select 子句中不能使用ORDER BY

静待佳音

论坛徽章:
0
发表于 2005-07-19 23:02 |显示全部楼层

[求助]请教,为什么Select 子句中不能使用ORDER BY

why use order by,does that order really matter after insert?

论坛徽章:
0
发表于 2005-07-20 09:03 |显示全部楼层

[求助]请教,为什么Select 子句中不能使用ORDER BY

[quote]原帖由 "senne"]why use order by,does that order really matter after insert?[/quote 发表:


真实的环境比这个复杂一点,逻辑上有这个必要,因为表b.b没有insert 进a,如果不排序,a中就没有办法再使用这个order,a的不同行是和不同表关联的(这个设计也许有点问题,但它是一个产品,更改的余地很小)

实际数据中这个order的确显得有点多余,因为现有的数据中表a中的a.b是按照插入顺序自然排序的,用不用order by效果也一样,我也在寻求是否有可能修改产品不使用order by。

谢谢您的回贴,我还是想从技术角度寻求这个现象的原因,到底是不符合SQL标准呢?还是哪里出了错误?因为这种用法8.1.7 ok,MS SQL  ok,MS Access ok。

论坛徽章:
0
发表于 2005-07-20 14:02 |显示全部楼层

[求助]请教,为什么Select 子句中不能使用ORDER BY

没有人可以解释一下这种情况吗?

上午找了ORACLE公司一个做销售的朋友,他咨询过工程师后答复,8.1.7 Oracle在一年前都已经不再支持了,更不用说8.1.5,提供不了任何有用信息。

俺原来的单位还有一台7.3.3在用呢,呵呵,不知道他们怎么办。

论坛徽章:
0
发表于 2005-07-20 16:01 |显示全部楼层

[求助]请教,为什么Select 子句中不能使用ORDER BY

你的SELECT 中没有b.b
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP