freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

機(jī)票預(yù)定信息管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告-正文(已改無(wú)錯(cuò)字)

2023-06-25 20:41:48 本頁(yè)面
  

【正文】 存儲(chǔ)過(guò)程、函數(shù)、包的設(shè)計(jì) ( 1) 存儲(chǔ)過(guò)程 設(shè)計(jì) 管理員需要對(duì)機(jī)票信息的錄入,由于機(jī)票信息的數(shù)據(jù)量龐大,手工輸入是不現(xiàn)實(shí)的事情,因此需要采用存儲(chǔ)過(guò)程來(lái)進(jìn)行對(duì)數(shù)據(jù)的錄入 。 為了使機(jī)票編號(hào)有序且不重復(fù), 13 因此需要?jiǎng)?chuàng)建一個(gè)表,表存放當(dāng)前機(jī)票編號(hào), 創(chuàng)建 表和 存儲(chǔ)過(guò)程 SQL 語(yǔ)句 如下: CREATE TABLE SYSTEM.T_NUMBER ( TNO NUMBER(10) )。 CREATE OR REPLACE PROCEDURE SYSTEM.CREATE_TICKET ( p_fno varchar2, p_flydate date, p_discount number ) as v_cblevel_count number。 v_ticket_count_by_cblevel number。 v_tno number。 begin SELECT count(1) INTO v_cblevel_count FROM cabin WHERE fno=p_fno。 SELECT tno INTO v_tno FROM t_number。 FOR v_i in 1..v_cblevel_count loop SELECT seats INTO v_ticket_count_by_cblevel FROM cabin WHERE fno=p_fno AND cblevel=v_i。 FOR v_j IN 1..v_ticket_count_by_cblevel loop INSERT INTO ticket VALUES(v_tno,p_fno,v_i,p_flydate,1,v_j,p_discount)。 v_tno:=v_tno+1。 END LOOP。 END LOOP。 UPDATE t_number SET tno=v_tno。 END。 假設(shè)管理員需要插入航班號(hào)為 F000日期為 2021 年 6 月 10 日 、折扣為 的機(jī)票,這需要執(zhí)行過(guò)程 CREATE_TICKET,過(guò)程 執(zhí)行的 SQL 語(yǔ)句如下: CALL create_ticket(39。F000339。,to_date(39。202161039。,39。yyyymmdd39。),)。 此時(shí) ticket 表的數(shù)據(jù)就會(huì)更新 , ticket 表的部分?jǐn)?shù)據(jù)如表 所示: TNO FNO CBLEVEL TO_CHAR(FLYDATE,39。YYYYMMDD39。) STATUS SEAT DISCOUNT 1 F0003 1 2021610 1 1 2 F0003 1 2021610 1 2 3 F0003 1 2021610 1 3 4 F0003 1 2021610 1 4 5 F0003 1 2021610 1 5 6 F0003 1 2021610 1 6 7 F0003 1 2021610 1 7 8 F0003 1 2021610 1 8 表 ticket表 的 部分 數(shù)據(jù) 乘客在買(mǎi)票時(shí),需要對(duì)售票( ticketsale)表進(jìn)行插入數(shù)據(jù),因此可以創(chuàng)建一個(gè)存 14 儲(chǔ)過(guò)程對(duì)售票這一過(guò)程進(jìn)行操作, 并且打印機(jī)票的信息, 存儲(chǔ)過(guò)程把需要打印的票的信息存放在臨時(shí)表上,創(chuàng)建臨時(shí)表和 存儲(chǔ)過(guò)程的 SQL 語(yǔ)句如下所示: CREATE GLOBAL TEMPORARY TABLE SYSTEM.PRINT_TICKET ( TNO VARCHAR2(10), FNO VARCHAR2(10), CNAME VARCHAR2(20), ANAME VARCHAR2(20), DEPARTURE VARCHAR2(20), ARRIVAL VARCHAR2(20), FLYDATE DATE, TIME DATE , ARRIVAL_TIME DATE, CBLEVEL NUMBER(1), SEAT NUMBER(3), PRICE NUMBER(5), DISCOUNT NUMBER(3, 2), FINAL_PRICE NUMBER, PNAME VARCHAR2(20), PID VARCHAR2(20), SNAME VARCHAR2(20) ) ON COMMIT PRESERVE ROWS。 CREATE OR REPLACE PROCEDURE SYSTEM.CREATE_RECORD ( p_fno %TYPE, p_flydate date, p_cblevel %TYPE, p_pid %TYPE, p_sno %TYPE ) AS v_tno %TYPE。 v_row ticket_info_view%ROWTYPE。 BEGIN SELECT min(tno) INTO v_tno FROM ticket WHERE fno=p_fno AND flydate=p_flydate AND cblevel=p_cblevel AND status=1。 INSERT INTO ticketsale VALUES(v_tno,p_pid,p_sno, sysdate)。 UPDATE ticket SET status=0 WHERE tno=v_tno。 SELECT * INTO v_row FROM ticket_info_view WHERE tno=v_tno。 INSERT INTO print_ticket VALUES (,,,v_ 15 ,)。 END。 假設(shè) 乘客 鄧春國(guó) 要購(gòu)買(mǎi)一張航班號(hào)為 F000日期為 6 月 1 號(hào)的機(jī)票,售票員工號(hào)為 S0001,則系統(tǒng)先讓乘客輸入身份證號(hào),查詢(xún)?cè)摮丝褪欠翊嬖?,存在的?huà)顯示乘客信息并提示是否需要更新,否則添加一個(gè)乘客信息,假設(shè)該乘客的記錄不存在,則先進(jìn)行插入 操作,然后執(zhí)行 CREATE_RECORD 過(guò)程 并且查詢(xún)臨時(shí)表 PRINT_TICKET的數(shù)據(jù)用于打印機(jī)票 , SQL 語(yǔ)句如下: INSERT INTO passenger VALUES(39。44090219880331085539。, 39。鄧春國(guó) 39。, 39。1517391388339。, 39。廣東省茂名市茂南區(qū) 39。)。 CALL create_record (39。F000339。,to_date(39。20216139。,39。yyyymmdd39。),1,39。44090219880331085539。,39。S000139。)。 SELECT * FROM print_ticket。 查詢(xún)結(jié)果如 圖 所示: 圖 print_ticket表 的數(shù)據(jù) ( 2)函數(shù)設(shè)計(jì) 在售票的時(shí)候需要計(jì)算剩余票的數(shù)量,因此可以創(chuàng)建一個(gè)函數(shù)來(lái)計(jì)算剩余票的數(shù)量, 函數(shù)的參數(shù)為航班號(hào)、航班日期和機(jī)艙等級(jí), 函數(shù)的創(chuàng)建如下: CREATE OR REPLACE FUNCTION SYSTEM.COUNT_TICKET ( p_fno %TYPE,p_flydate date,p_cblevel %TYPE ) RETURN number 16 AS v_count number。 BEGIN SELECT count(1) INTO v_count from ticket WHERE fno=p_fno AND flydate=p_flydate AND cblevel=p_cblevel AND status=1。 RETURN v_count。 END。 ( 1)包設(shè)計(jì) 可以把以上的存儲(chǔ)過(guò)程和函數(shù)封裝到包里面,創(chuàng)建包的 SQL 語(yǔ)句如下: CREATE OR REPLACE PACKAGE SYSTEM.SALES_SYSTEM AS FUNCTION count_ticket (p_fno %TYPE,p_flydate date,p_cblevel %TYPE )RETURN number。 PROCEDURE create_ticket( p_fno varchar2, p_flydate date, p_discount number )。 PROCEDURE create_record( p_fno %TYPE, p_flydate date, p_cblevel %TYPE, p_pid %TYPE, p_sno %TYPE )。 END。
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1