欢迎来到天天文库
浏览记录
ID:10584116
大小:75.00 KB
页数:7页
时间:2018-07-07
《as400中文培训教程之db(6)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、如果文件分类顺序和交替分配顺序表都被忽略,这就允许用户不必指出所有字段名,而仅指定哪个字段做分类顺序。如果没有指定查询分类顺序(如*HEX)就会按V2.3版中的规定排序。2.2.3.19DDM文件考虑OPNQRYF可以处理DDM文件,所有在FILE参数中指定的文件必须在AS/400中存在。一个指定操作并用DDM文件的OPNQRYF需要源文件和目标文件在同类型系统中。2.2.3.20编写高级语言程序的考虑象在2.2.3.1中讲述的那样,高级语言程序能直接访问数据文件。在程序外选择或排序,程序以你指定顺序接收选择的
2、记录,程序得不到选择时忽略的记录。通过逻辑文件用选择/忽略值处理时,具有同样功能。如果使用FORMAT参数,程序使用在FORMAT中用的文件名,写程序时就象这个文件包含实际的数据一样。如果顺序读文件,高级程序自动忽略键字顺序,你可以象读到达顺序记录一样写程序。如果在OPNQRYF命令中用KEYFLD参数,要收到一个能忽略的诊断信息。如果用随机的键字处理文件,高级语言要有相应的键字规定,如果有选择的值,它可以防止程序访问在数据库中的记录。或者用OPNQRYF或用DDS中用选择/忽略条件的逻辑文件。在随机读中都可能
3、发生记录未找到的情况。在某些情况下,可以监控诸如数字溢出之类的映象错误引起的异常,但最好是对所有字段定义正确的属性。2.2.3.21OPNQRYF命令运行时发送信息当OPNQRYF运行时,会给交互用户发送OPNQRYF的状态信息。例如,当键字访问顺序建立用来满足OPNQRYF需要时,会发送一个信息。在运行OPNQRYF时可能发送下面信息:信息标识说明CPI4301Query运行CPI4302Query运行,建立访问路径……CPI4303Query运行,生成文件备份……CPI4304Query运行,完成选择……C
4、PI4305Query运行,备份文件排序……CPI4306Query运行,建立文件访问路径……CPI4011Query运行,处理的记录数……如不让这些信息出现,参考CL手册中关于信息控制的内容。当作业在Debug下运行(用STRDBG),信息发往作业日志中。描述了要处理OPNQRYF的实现方法,这些信息提供优化处理建议。也可以用来作为改善OPNQRYF运行性能的工具,这些信息如下:CPI4321建立文件访问路径CPI4322从键字文件建立访问路径CPI4324从文件生成临时文件CPI4325为Query建立临时
5、文件CPI4326用JOIN位置处理文件CPI4327用JOIN位置1处理文件CPI4328使用文件访问路径CPI4329使用文件的到达顺序CPI432AQuery优化超时CPI432C考虑文件的所有访问路径大部分信息都提供了使用当前功能的原因,每个信息的二级文本给出了扩展的说明,某些信息提供了改进OPNQRYF性能的建议。2.2.3.22使用OPNQRYF的其它可选功能OPNQRYF命令支持OPTION参数来决定处理的类型,默认值为OPTION(*INP),所以文件为仅输入打开,也可在OPNQRYF命令中使用
6、OPTION的其它值和一个高级语言程序通过打开文件,来添加、更新、删除记录。但如果指定UNIQUEKEY、GRPFLD或GRPSLT参数,用了一个组合功能或是在FILE中指定多个文件,对文件的使用就仅限于输入。连接逻辑文件是只输入处理,如果在视图的定义中用了组合,连接合并,或分类处理时,视图也限于只输入。如果要对文件中某些记录改变当前值,可把OPNQRYF命令和高级语言程序联合一起用,例如:要把文件中Flda字段的值ABC改为XYZ,可以指定如下:OVRDBFFILE(FILEA)SHARE(*YES)OPNQ
7、RYFFILE(FILEA)OPTION(*ALL)QRYSLT('FLDA*EQ"ABC"')CALLPGM(PGMA)CLOFOPNID(FILEA)DLTOVRFILE(FILEA)PGMA处理读到的所有记录,但选择条件限制只处理Flda为ABC的记录,程序把它改为XYZ,并更新。可以用OPNQRYF删除数据文件的记录,例如,要删除字段值为X的记录,可以编写下面程序并用OPNQRYF值选择要删除的记录。OVRDBFFILE(FILEA)SHARE(*YES)OPNQRYFFILE(FILEA)OPTION
8、(*ALL)QRYSLT('DLTCOD*EQ"X"')CALLPGM(PGMB)CLOFOPNID(FILEA)DLTOVRFILE(FILEA)也可以用OPNQRYF添加记录,但如果查询条件中有选择值,程序可能由于这种选择被禁止读添加过的记录。2.2.3.23用OPNQRYF做日期、时间和时间标记的比较日期、时间或时间标记可以和同一类型的其它值或表达式串进行比较。所有比较都是按年代
此文档下载收益归作者所有