假设temp.dbf数据表中有两个字段“歌手号’’和“最后得分”,下面程序段的功能是:将temp.dbf中歌手的“最后得分”填入“歌手”表对应歌手的“最后得分”字段中(假设已增加了该字段),在下划线处应该填写的SQL语句是( )。
- AUSE歌手
- BDOWHILE.NOT.EOF()
- CREPLACE歌手.最后得分WITHa[2]
- DSKIP
- EENDDO
- FA)SELECT﹡FROMtempWHEREtemp.歌手号=歌手.歌手号TOARRAYa
- GB)SELECT﹡FROMtempWHEREtemp.歌手号=歌手.歌手号INTOARRAYa
- HC)SELECT﹡FROMtempWHEREtemp.歌手号=歌手.歌手号TOFILEa
- ID)SELECT﹡FROMtempWHEREtemp.歌手号=歌手.歌手号INTOFILEa
参考解析:选项A)的命令格式错误,将查询结果保存在数组里应该是:INTOARRAY短语。由程序语句“REPLACE歌手最后得分WITH a[2]”中的“a[2]”可以看出a是一个数组名, a[2]指的是数组a中的第2个元素,所以填写的SQL语句中一定用到了数组a。而选项C)和选项D)中,足将查询结果保存在文本文件中,故可以排除。程序的功能是:在歌手表中,从第一条记录开始,在temp表中找到与该记录的歌手号相同的记录,并把记录的所有字段保存在数组a中,由于temp表中只有“歌手号”和“最后得分”两个字段,所以数组a中有两个元索,第一个是“歌手号”,第二个是“最后得分”,再用REPLACE命令将歌手表中当前记录中的 “最后得分”字段用a[2]替换,即填入了“最后得分”。当一条记录处理结束之后,SKIP命令将记录指针指向歌手表的下一条记录,进行同样的处理,最终将歌手表中的“最后得分”字段填写完毕。
分类:其他