3.綜合應用題
系統(tǒng)已經(jīng)建立了order_detail表,并已追加記錄。
當order_detail表中的單價修改后,應該根據(jù)該表的“單價”和“數(shù)量”字段修改order_list表的總金額字段,現(xiàn)在有部分order_list記錄的總金額字段值不正確,請編寫程序挑出這些記錄,并將這些記錄存放到一個名為od_mod的表中(與order_list表結構相同,自己建立),然后根據(jù)order_detail表的“單價”和“數(shù)量”字段修改od_mod表的總金額字段(注意,一個od_mod記錄可能對應幾條order_detail記錄),最后,od_mod表的結果要求按總金額升序排序,編寫的程序最后保存為prog1.prg。
【參考答案】
具體步驟如下:
、 在“命令”窗口輸入命令:MODIFY COMMAND prog1。
、 進入程序文件編輯器,在程序編輯窗口中輸入如下程序段:
*******prog1.prg文件中的程序段*******
SET TALK OFF
SET SAFETY OFF
SELECT 訂單號,SUM(單價*數(shù)量)AS總金額;
FROM order_detail;
GROUP BY 訂單號;
INTO CURSOR curtable
SELECT order_list.*;
FROM order_list,curtable;
WHERE order_list.訂單號=curtable.訂單號AND order_list.總金額<>curtable.總金額;
INTO TABLE od_mod
USE od_mod
DO WHILE NOT EOF()&&遍歷od_mod中的每一條記錄
SELECT curtable.總金額FROM curtable;
WHERE curtable.訂單號=od_mod.訂單號;
INTO ARRAY AFieldsValue
REPLACE 總金額 WITH AFieldsValue
SKIP
ENDDO
CLOSE ALL
SELECT * FROM od_mod ORDER BY 總金額;
INTO CURSOR curtable
SELECT * FROM curtable INTO TABLE od_mod
SET SAFETY ON
SET TALK ON
************************************
③ 保存設計結果,在“命令”窗口輸入命令:DO prog1,執(zhí)行程序文件。
【試題解析】
本試題考查的主要是SQL語句的應用,包括數(shù)據(jù)定義、數(shù)據(jù)修改和數(shù)據(jù)查詢功能,設計過程中注意數(shù)據(jù)表和表中字段的選取,修改每條記錄時,可利用DO-WHILE循環(huán)語句逐條處理表中每條記錄。
相關推薦:2010年9月計算機等級考試精華備考資料匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |