【正文】
掌握觸發(fā)器的使用四、實驗平臺Oracle 11g五、實驗步驟、出現(xiàn)的問題及解決方案(不能解決的將問題列出)(3)實驗步驟1)通過序列和觸發(fā)器實現(xiàn)借閱表中借閱流水號字段的自動遞增。2)通過序列和觸發(fā)器實現(xiàn)預(yù)約表中預(yù)約流水號字段的自動遞增3)修改實驗三借書功能的存儲過程。該存儲過程要求: l 借書時輸入借書證號,圖書編號。(即該函數(shù)有2個輸入?yún)?shù))l 借書時,借書日期為系統(tǒng)時間。*該存儲過程主體部分只有insert into語句。4)建立與借書存儲過程相對應(yīng)的觸發(fā)器,當(dāng)借閱表中加入借閱信息時,該觸發(fā)器觸發(fā),自動修改所借圖書的是否借出改為‘是’。5)修改實驗三還書功能的存儲過程。該存儲過程要求:l 還書時輸入借書證號,圖書編號。(即該函數(shù)有2個輸入?yún)?shù))l 還書時,還書日期為系統(tǒng)時間。*該存儲過程主體部分只有一條UPDATE語句。6)建立與還書存儲過程相對應(yīng)的觸發(fā)器,當(dāng)借閱表中填入還書日期時,該觸發(fā)器觸發(fā),自動修改所還圖書的是否借出為‘否’。2(4)問題及解決方案1)問題一:步驟一中無法識別“seq_id”標(biāo)識符 原因:未創(chuàng)建seq_id序列 解決方案:先創(chuàng)建該序列2)問題二:步驟3無法執(zhí)行原因:已創(chuàng)建的table中無“借書”項解決方案:將原代碼中的“借書”改為“借閱” 3)問題三:步驟二中出現(xiàn)無法識別的符號 原因:將英文分號誤寫為中文分號 解決方案:修正為英文分號“;” 4)問題四:原因:變量賦值過程中使用了錯誤的賦值語句 解決方案:將bnum改為圖書編號五、思考與總結(jié)(4)在創(chuàng)建trigger之前應(yīng)先創(chuàng)建sequence,避免出現(xiàn)序列號無法識別的錯誤(5)書寫存儲語句時,應(yīng)注意涉及的表格和屬性名應(yīng)與創(chuàng)建表格時相同(6)注意區(qū)分中英文符號,避免出現(xiàn)符號無法識別以及程序沒有結(jié)尾等錯誤(7)注意區(qū)別where和having的用法(8)注意空格的使用,避免出現(xiàn)缺少或多余的空格,造成語法錯誤六、附:實驗源代碼(1)create sequence seq_借閱 start with 8 increment by 1 nomaxvalue nocycle nocache。create or replace trigger tr_借閱流水號 before insert on 借閱 for each rowbeginselect into : from dual。end。(2)create sequence seq_預(yù)約 start with 8 increment by 1 nomaxvalue nocycle nocache。create or replace trigger tr_預(yù)約流水號 before insert on 預(yù)約 for each rowbeginselect into : from dual。end。(3)create or replace procedure p_borrow_book_xg(p_jszh in number,p_tsbh in number)as v_sfjc %type。beginselect 是否借出 into v_sfjc from 圖書 where 圖書編號=p_tsbh。if v_sfjc=39。否39。 theninsert into 借閱(借書證號,圖書編號,借書日期)values(p_jszh,p_tsbh,to_date(to_char(sysdate,39。YYYY/MM/DD39。),39。YYYY/MM/DD39。))。update 圖書 set 是否借出=39。是39。 where 圖書編號=p_tsbh。mit。else(39。該圖書已經(jīng)借出!39。)。end if。end。(4)create or replace trigger tr_借書 before insert on 借閱 for each rowbeginif inserting thenupdate 圖書 set 是否借出=39。是39。 where 圖書編號=:。select into : from dual。end if。end。(5)create or replace procedure p_return_圖書(p_借書證號 in number,p_圖書編號 in number)as beginupdate 借閱 set 歸還日期=to_date(to_char(sysdate,39。YYYY/MM/DD39。),39。YYYY/MM/DD39。),罰款分類號=p_罰款分類號 where 借書證號=p_借書證號 and 圖書編號=p_圖書編號。update 圖書 set 是否借出=39。否39。 where 圖書編號=p_圖書編號。mit。end。(6)create or replace trigger tr_還書after updateon 借閱for each row beginif updating thenupdate 圖書 set 是否借出 = 39。否39。 where 圖書編號 = :。end if。end。第五篇:計算機(jī)網(wǎng)絡(luò)原理實驗三winsock套接字編程實驗報告實驗三、WINSOCK套接字編程實驗報告序號:姓名:學(xué)號:成績1.實驗?zāi)康模河肅或JAVA語言編寫客戶端、服務(wù)器程序,實現(xiàn)基于TCP或UDP的網(wǎng)絡(luò)通信數(shù)據(jù)傳輸服務(wù),熟悉基于TCP或UDP的Socket編程原理。2.實驗環(huán)境:建立在TCP/IP 網(wǎng)絡(luò)體系結(jié)構(gòu)之上計算機(jī)網(wǎng)絡(luò)實驗環(huán)境。各計算機(jī)除了安裝TCP/IP 軟件外,還安裝了TCP/IP 開發(fā)系統(tǒng)。計算機(jī)具備Windows環(huán)境中套接字socket 的編程接口功能,可為用戶提供全網(wǎng)范圍的進(jìn)程通信功能。3.實驗指導(dǎo):參見套接字編程實驗指導(dǎo)4.實驗步驟(1)運(yùn)行指導(dǎo)書中給出的參考程序,分析實驗結(jié)果,并回答問題(1)(3)(2)根據(jù)給定參考程序修改代碼,完善修改服務(wù)器和客戶端的功能。并回答問題(4)(5)5.實驗結(jié)果分析(1)?(2)為什么在服務(wù)器和客戶端程序中要加入pragma ment(lib,“”)語句,如果不加會出現(xiàn)什么問題?(3)為什么在服務(wù)器和客戶端程序中要使用WSAStartup函數(shù),如果不用,程序會有什么問題?(4)修改后的程序完成實現(xiàn)了什么功能,附上修改后的源代碼。(修改或填加的代碼用波浪線標(biāo)注,并填加注釋),并附上實驗截圖(5)請詳細(xì)說明此實驗在設(shè)計及運(yùn)行時遇到的問題和解決辦法,及實驗體會及建議。