如何在视图中进行排序?!!

carl_sword 2003-10-19 11:57:51
小弟我是在作一个学生成绩管理系统,数据库是oracle的,我通过了一个视图定义了数据环境,用来打印学生名单。开始的时候我定义了一个视图,在具体的操作时,根据不同的条件,我动态的调整视图定义,可是,我打印的名单需要排序,可是视图一加上“order by o_xh”程序就提示SQL语句没有正常结束,我查了一下数据库的书,书上说视图一般不允许有order by子句,哪位大侠能告诉我如何才能在试图中排序。(我用的是vb环境)
...全文
860 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dragon525 2003-11-16
  • 打赏
  • 举报
回复
问题解决没??
我也遇到了这个问题。。。。。
carl_sword 2003-10-20
  • 打赏
  • 举报
回复
不好意思,程序不是我开发的,我是在维护别人的程序,这个程序原来打印名单没有排序,现在想加一个排序,
ATCG 2003-10-19
  • 打赏
  • 举报
回复
oracle 9i是可以的

create or replace view bb as select * from aa order by name;
ATCG 2003-10-19
  • 打赏
  • 举报
回复
那你在select视图的时候再order by 不就得了
glmcglmc 2003-10-19
  • 打赏
  • 举报
回复
to carl_sword (初学) :
看了你的问题有点奇怪,为什么要动态改变视图的定义呢?

应该明白视图是用来干什么的,
何时才适合用.
我觉得你的开发思路存在问题.
carl_sword 2003-10-19
  • 打赏
  • 举报
回复
我是在一本数据库原理书中看到的
carl_sword 2003-10-19
  • 打赏
  • 举报
回复
在用视图之前,我用了一个表格控件来显示名单,用的就是同一条SQL语句(将SQL语句存入变量sqlstring="select …… where …… order by o_xh"),结果正确,可是一到重新定义视图时(viewstring="create or replace view dy as " & sqlstring),当执行oraconn.excute (viewstring)时,程序提示SQL语句未结束。
当我将sqlstring中的order by 子句去掉时,程序运行正确。
我用的是oracle 8 ,order by 可不可以呢?
mosaic 2003-10-19
  • 打赏
  • 举报
回复
oracle里面无论创建视图还是从视图里面提取数据都可以用order by子句.
楼主从那本书上看到"视图一般不允许有order by子句"的?

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧