




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第7章SQL擴展編程習(xí)題參考答案選擇題1.下列不屬于存儲過程作用的是A.能夠根據(jù)數(shù)據(jù)更改操作自動執(zhí)行B.能夠?qū)崿F(xiàn)模塊化程序設(shè)計C.可以減少網(wǎng)絡(luò)流量D.可作為安全機制使用答案:A2.下列有關(guān)存儲過程的敘述,錯誤的是A.MySQL允許在存儲過程創(chuàng)建時引用一個不存在的對象B.存儲過程可以帶多個輸入?yún)?shù),也可以帶多個輸出參數(shù)C.使用存儲過程可以減少網(wǎng)絡(luò)流量D.在一個存儲過程中不可以調(diào)用其他存儲過程答案:D3.下列不能引發(fā)觸發(fā)器執(zhí)行的操作是A.INSERTB.DELETEC.SELECTD.UPDATE答案:C4.MySQL為觸發(fā)器創(chuàng)建的兩個臨時表是A.max
和
minB.a(chǎn)vg
和
sumC.int
和
charD.old
和
new答案:D5.下列說法錯誤的是A.觸發(fā)器觸發(fā)時機有BEFORE、AFTER兩種B.對于同一張數(shù)據(jù)表,只能定義一個觸發(fā)器C.由INSERT操作引發(fā)的觸發(fā)器,NEW臨時表用來保存新插入的數(shù)據(jù)D.OLD臨時表中的數(shù)據(jù)是只讀的,不能被更新答案:B二、簡答題存儲過程的作用是什么?答:(1)允許模塊化程序設(shè)計(2)改善性能(3)減少網(wǎng)絡(luò)流量(4)可作為安全機制使用存儲過程和函數(shù)有哪些共同點和不同點?答:相同點:都是數(shù)據(jù)庫系統(tǒng)中一組為了完成特定功能的SQL語句塊,它將常用或復(fù)雜的工作預(yù)先用SQL語句編寫腳本并指定名稱存儲在數(shù)據(jù)庫服務(wù)器中,可以包含控制語句,有很強的靈活性,可以完成復(fù)雜的數(shù)據(jù)操作功能。不同點:(1)自定義函數(shù)不能有輸出參數(shù),這是因為自定義函數(shù)自身就是輸出參數(shù);而存儲過程可以有輸出參數(shù)。(2)自定義函數(shù)的函數(shù)體中必須包含一條RETURN語句,而存儲過程不需要。(3)自定義函數(shù)是在SELECT語句中調(diào)用執(zhí)行的,而存儲過程是通過CALL語句調(diào)用執(zhí)行的。存儲過程的參數(shù)有哪幾種形式?答:in:輸入?yún)?shù)(默認(rèn)情況下為in參數(shù)),該參數(shù)的值在調(diào)用時指定。out:輸出參數(shù),存儲過程運行過程中可以對該類參數(shù)賦值,起到將計算結(jié)果返回給調(diào)用程序的作用。inout:既是輸入?yún)?shù),又是輸出參數(shù),該參數(shù)的值可在調(diào)用時指定,又可以將計算結(jié)果返回給調(diào)用程序。存儲過程和函數(shù)如何將結(jié)果返回給調(diào)用者?答:存儲過程:通過OUT或INOUT參數(shù)返回結(jié)果。函數(shù):通過RETURN語句返回單個值。什么是觸發(fā)器?觸發(fā)器和存儲過程主要區(qū)別是什么?答:觸發(fā)器是存儲數(shù)據(jù)庫中的一段完成特定功能的SQL語句集合。觸發(fā)器和存儲過程主要區(qū)別是觸發(fā)器是由對數(shù)據(jù)進行的更改操作觸發(fā)自動執(zhí)行,這些操作包括INSERT、UPDATE、DELETE等。觸發(fā)器的主要作用是什么?答:當(dāng)對數(shù)據(jù)表中的數(shù)據(jù)執(zhí)行插入、更新和刪除操作,需要自動執(zhí)行一些數(shù)據(jù)庫邏輯時,可以使用觸發(fā)器來實現(xiàn)。觸發(fā)器通常用于保證業(yè)務(wù)規(guī)則和復(fù)雜數(shù)據(jù)完整性。三、編程題請根據(jù)books、students和borrow表,編寫實現(xiàn)下列要求的代碼。定義變量num,統(tǒng)計所有圖書的平均價格,將值賦給變量num并顯示num的值。答:--定義變量并計算平均價格SET@num=(SELECTAVG(price)FROMbooks);--顯示變量值SELECT@numASaverage_price;定義存儲過程,輸入?yún)?shù)是圖書類型,求該類型的圖書總數(shù)量,寫出定義語句和調(diào)用語句。答:--定義存儲過程DELIMITER//CREATEPROCEDUREGetBookCountByType(INbook_typeVARCHAR(50))BEGINSELECTCOUNT(*)AStotal_countFROMbooksWHEREtype=book_type;END//DELIMITER;--調(diào)用存儲過程CALLGetBookCountByType('小說');定義存儲過程,輸入?yún)?shù)是出版社、出版年份,輸出參數(shù)是圖書數(shù)量,統(tǒng)計指定年份該出版社出版的圖書數(shù)量,寫出存儲過程定義語句和調(diào)用語句。答:--定義存儲過程DELIMITER//CREATEPROCEDUREGetBookCountByPublisherAndYear(INpublisher_nameVARCHAR(100),INpublish_yearINT,OUTbook_countINT)BEGINSELECTCOUNT(*)INTObook_countFROMbooksWHEREpress=publisher_nameANDYEAR(publish_date)=publish_year;END//DELIMITER;--調(diào)用存儲過程CALLGetBookCountByPublisherAndYear('清華大學(xué)出版社',2022,@count);SELECT@countASbook_count;定義函數(shù),輸入?yún)?shù)是出生日期,返回值是學(xué)生年齡,寫出函數(shù)定義語句和在SELECT語句調(diào)用此函數(shù)查詢學(xué)生的姓名、年齡的語句。答:--定義函數(shù)DELIMITER//CREATEFUNCTIONCalculateAge(birth_dateDATE)RETURNSINTBEGINRETURNYEAR(CURDATE())-YEAR(birth_date)-(DATE_FORMAT(CURDATE(),'%m%d')<DATE_FORMAT(birth_date,'%m%d'));END//DELIMITER;--調(diào)用函數(shù)查詢學(xué)生姓名和年齡SELECTname,CalculateAge(birth_date)ASageFROMstudents;查看題目3定義的存儲過程的信息。答:SHOWPROCEDUREGetBookCountByPublisherAndYear;刪除題目3定義的存儲過程。答:DROPPROCEDUREGetBookCountByPublisherAndYear;定義觸發(fā)器,在students表中插入新生信息前判斷:如果新生年齡小于15歲或者大于60歲,則提示年齡輸入錯誤。答:DELIMITER//CREATETRIGGERBeforeInsertStudentBEFOREINSERTONstudentsFOREACHROWBEGINDECLAREstudent_ageINT;SETstudent_age=YEAR(CURDATE())-YEAR(NEW.birth_date)-(DATE_FORMAT(CURDATE(),'%m%d')<DATE_FORMAT(NEW.birth_date,'%m%d'));IFstudent_age<15ORstudent_age>60THENSIGNALSQLSTATE'45000'SETMESSAGE_TEXT='年齡輸入錯誤:年齡必須介于15到60歲之間';ENDIF;END//DELIMITER;為books表增加一個新列,列名:“狀態(tài)”,類型為字符串類型。定義觸發(fā)器,每當(dāng)有圖書被借出,判斷該圖書庫存,如果庫存為0,則將books表的“狀態(tài)”列設(shè)為“已全部借出”。答:--增加新列ALTERTABLEbooksADDCOLUMN`狀態(tài)`VARCHAR(50);--定義觸發(fā)器DELIMITER//CREATETRIGGERAfterBorrowBookAFTERINSERTONborrowFOREACHROWBEGINDECLAREcurrent_stockINT;SELECTstockINTO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《漢語閱讀教程》課件-2教學(xué)課件:漢語閱讀教程L2
- 2025年委托物業(yè)管理合同示范文本格式樣本協(xié)議
- 2025網(wǎng)簽租賃合同需要注意哪些事項
- 肌無力危象的臨床護理
- 動脈瘤的臨床護理
- 紫癜性腎炎的臨床護理
- 2025股權(quán)轉(zhuǎn)讓合同補充協(xié)議書范本
- 2025年一級建造師之一建公路工程實務(wù)題庫與答案
- 解析表達特點洞悉觀察秘妙-《蟋蟀的住宅》教學(xué)設(shè)計
- 乳頭狀鱗狀細(xì)胞癌的臨床護理
- 完整版高中古詩文必背72篇【原文+注音+翻譯】
- 實際控制人股東會決議
- 禮贊白衣天使512國際護士節(jié)護士表彰大會PPT課件(帶內(nèi)容)
- 競爭性談判相關(guān)表格模板
- 中考物理“極值”與“取值范圍”問題專題訓(xùn)練
- 2009年安徽省中考化學(xué)試卷【含答案可編輯】
- 越南工業(yè)到2025年發(fā)展戰(zhàn)略及到2035發(fā)展展望(提到鋼鐵)
- 電梯曳引機減速箱的設(shè)計、建模與運動仿真分析機械
- PV-1200-(中文版)氣候交變穩(wěn)定性試驗(共4頁)
- 淮北市基準(zhǔn)地價
- 《給教師的100條建議》電子書
評論
0/150
提交評論