My FAQ,最新最全的IT技术FAQ
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论
  当前位置: > 操作系统 > IBM Server
关于逻辑文件的一个问题
作者:未知 时间:2005-09-13 15:46 出处:ChinaUnix.net 责编:My FAQ
              摘要:关于逻辑文件的一个问题

例如有一个物理文件(单MEMBER),其中包含有不少重复的纪录,请问我能不能通过建立一个逻辑文件达到SQL里的DISTINCT功能呢?如果可以,这个逻辑文件应该怎么建立?

 暴走族 回复于:2004-08-02 10:22:22
是我表述不清,还是无法实现?

 kimdai 回复于:2004-08-02 13:23:59
用Create View XXX AS select distinct× From × Where *,
或用DDS生成个LF使用文件极的关键字UNIQUE。

 暴走族 回复于:2004-08-02 15:27:37
看来只能 create view 了.谢谢

 xuguopeng 回复于:2004-08-02 17:44:54
DDS里用UNIQUE不行么?

 暴走族 回复于:2004-08-03 09:15:00
UNIQUE 是防止重复键值.可我的物理文件本身就有很多重复的,而且以后也会有重复的.加了UNIQUE就会报措了.
 
我就是想得到一个distinct的效果.看来只能用视图了.可是视图很慢啊.

 hanyu 回复于:2004-08-04 09:16:27
view其实也是一种LF,是非键字逻辑文件的特殊形式。所以打开时较慢,但view所依赖的pf变化时,不需要动态维护存储路径,因此不占用额外的资源。
如果你的应用是实时联机方式的,用view确实不合适。

 ibmxp 回复于:2004-08-04 11:21:05
可以把RPG程序改成用标准SQL,指定group by 或distinct,也可以解决一些问题,记录量比较多的时候distinct速度比较慢。

也可以建一个与原表结构一样的PF,只是加上UNIQUE,再加个触发器,或改原来的程序,当写原表时,也写到这个表中,这样是不是也可以解决一点呢?

 utirei 回复于:2005-04-07 16:12:54
rpg里可以写嵌套的sql语句吗?还是rpgle里面可以写呢?

 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有