在考生文件夹中有“销售管理”数据库,内有“定货信息”表和“货物信息”表。货物表中的“单价”与“数量”之积应等于定货表中的“总金额”。 现在有部分“定货信息”表记录的“总金额”字段值不正确,请编写程序挑出这些记录,并将这些记录存放到一个名为“修正”的表

admin2009-02-15  49

问题 在考生文件夹中有“销售管理”数据库,内有“定货信息”表和“货物信息”表。货物表中的“单价”与“数量”之积应等于定货表中的“总金额”。
   现在有部分“定货信息”表记录的“总金额”字段值不正确,请编写程序挑出这些记录,并将这些记录存放到一个名为“修正”的表中(与定货表结构相同,自己建立),根据货物表的“单价”和“数量”字段修改“修正”表的“总金额”字段(注意一个修正记录可能对应几条定货记录)。
编写的程序最后保存为myp. prg。

选项

答案在命令窗口中输入命令:MODIFY COMMAND myp,在程序文件编辑器窗口输入如下程序段: ********文件Myp. prg中的程序段******** &&查找错误记录 SELECT 订单号,SUM(单价*数量)AS 总金额; FROM 货物信息; GROUP BY 订单号; DNTO CURSOR atemp SELECT 定货信息.*; FROM atemp,定货信息; WHERE atemp.订单号;定货信息.订单号; AND atemp.总金额<>定货信息.总金额; INTO TABLE 修正 &&修订“修正”表中的记录 SELECT 订单号,SUM(单价*数量)AS 总金额; FROM 货物信息; GROUP BY 订单号; INTO CURSOR atemp DO WHILE NOT EOF() UPDATE 修正 SET 总金额=atemp.总金额; WHERE 修正.订单号=atemp.订单号 SKIP ENDDO *************************************** 在命令窗口执行命令:DO myf,运行程序,结果如图3-98所示。 [*] 图3-98

解析 本大题主要考查的是SQL语句的应用,设计过程中可利用临时表来存放查询结果,通过“订单号”建立两个表之间的联系,再利用DO 循环语句对表中的记录逐条更新。
转载请注明原文地址:https://jikaoti.com/ti/40M7FFFM
0

最新回复(0)