版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
PL/SQL練習練習一編寫一個觸發(fā)器,當任何時候某個部門從DEPT中刪除時,該觸發(fā)器將從EMP表中刪除該部門的所有雇員。createorreplacetriggertri_dept_empafterdeleteondeptforeachrowbegindeletefromempwheredeptno=:old.deptno;end;/練習二某招生系統(tǒng),要求計算考生的總分,并根據(jù)每門專業(yè)課的最低分數(shù)線和總分的最低分數(shù)線自動將考生歸類為錄取考生或落選考生。SID 考生編號SName考生姓名Status 標志位TotalScore總分EnglishScore英語成績PoliticsScore政治成績Major1Score專業(yè)課1成績Major2Score專業(yè)課2成績Major3Score專業(yè)課3成績createorreplaceprocedurehandle_score(esnumber,psnumber,m1snumber,m2snumber,m3snumber,tsnumber)iscursorc_scoreisselect*fromscoreforupdatenowait;beginforcinc_scoreloopupdatescoresettotalscore=c.englishscore+c.politicsscore+c.major1score+c.major2score+c.major3scorewherecurrentofc_score;ifc.totalscore>=tsandc.englishescore>=esandc.politicsscore>=psandc.major1score>=m1sandc.major2score>=m2sandc.major3score>=m3sthenupdatescoresetc.status='PASS'wherecurrentofc_score;elseupdatescoresetc.status='FAIL'wherecurrentofc_score;endif;endloop;end;/練習三編寫一個函數(shù)以檢查所指定雇員的薪水是否有效范圍內(nèi)。不同職位的薪水范圍為:Designation RangeClerk 1500-2500Salesman 2501-3500Analyst 3501-4500Others 4501andabove.如果薪水在此范圍內(nèi),則顯示消息"SalaryisOK",否則更新薪水為該范圍內(nèi)的最小值。createorreplaceprocedureProc_Chk_Emp_Sal(Emp_NoINemp.emp_id%TYPE)asVc_Jobemp.job%TYPE;N_Salemp.emp_salary%TYPE;beginselectjob,emp_salaryintoVc_Job,N_Salfromempwhereemp_id=Emp_No;ifUpper(Vc_Job)='CLERK'thenifN_Sal<=2500andN_Sal>=1500thenDBMS_OUTPUT.PUT_LINE('SalaryisOK!');elseupdateempsetemp_salary=1500whereemp_id=Emp_No;endif;elsifUpper(Vc_Job)='SALESMAN'thenifN_Sal<=3500andN_Sal>=2501thenDBMS_OUTPUT.PUT_LINE('SalaryisOK!');elseupdateempsetemp_salary=2501whereemp_id=Emp_No;endif;elsifUpper(Vc_Job)='ANALYST'thenifN_Sal<=4500andN_Sal>=3501thenDBMS_OUTPUT.PUT_LINE('SalaryisOK!');elseupdateempsetemp_salary=3501whereemp_id=Emp_No;endif;elsifUpper(Vc_Job)='OTHERS'thenifN_Sal>=4501thenDBMS_OUTPUT.PUT_LINE('SalaryisOK!');elseupdateempsetemp_salary=4501whereemp_id=Emp_No;endif;elsenull;endif;end;/練習四“北京到香港”的飛機票目前還剩3張,假設現(xiàn)在有4個訂票點都同時要訂“北京到香港”的機票,那么必然至少有一個訂票點不能訂到票。請設計一個訂票程序來保證機票的正確訂出。訂票表的結(jié)構(gòu)createtableticket(idnumber(3)primarykey,--唯一idroutevarchar2(20)notnull,--航線名稱
numnumber(3)--票的余數(shù));insertintoticketvalues(1,'北京到香港',3);createorreplaceprocedurepro_plane(v_routevarchar2,v_numnumber)asCURSORcur_ticket(v_p_route)ISselectnumfromticketwhereroute=v_p_routeforupdate;beginOPENcur_ticket(v_route);ifcur_ticket.num<v_numthenDBMS_OUTPUT.PUT_LINE('NotEnoughTicketAvailable!');elseupdateticketsetnum=num-v_numwherecurrentofcur_ticket;endif;CLOSEcur_ticket;commit;end;/練習五醫(yī)院藥品都實行效期管理,效期早的藥品先使用。請設計一個程序來按效期使用藥品,要求:使用觸發(fā)器來維護兩個表之間的庫存的一致性對藥品出庫時,能正確選擇批次藥品庫存表kccreatetablekc(idnumber(2)primarykey,--藥品idypnamevarchar2(20),--藥品名稱
numnumber(5)--數(shù)量);insertintokcvalues(1,'青霉素',3000);insertintokcvalues(2,'雙黃連',4000);藥品批次庫存表batchkccreatetablebatchkc(idnumber(2)referenceskc(id),--藥品idvaliddatedate,--到期時間
bnumnumber(5),--數(shù)量
primarykey(id,validdate));insertintobatchkcvalues(1,'01-5月-04',2500);insertintobatchkcvalues(1,'01-12月-04',500);insertintobatchkcvalues(2,'12-1月-04',1000);insertintobatchkcvalues(2,'07-6月-04',1000);insertintobatchkcvalues(2,'13-8月-04',1000);insertintobatchkcvalues(2,'13-12月-05',1000);出庫青霉素2700支
1,'01-5月-04',25001,'01-12月-04',200createorreplaceproceduredeliver(v_nameVARCHAR2,v_numNUMBER)asv_kcNUMBER;v_leftNUMBER;v_p_idNUMBER;cursorcur_batchkc(v_idNUMBER)isselectbnumfrombatchkcwhereid=v_idorderbyvaliddateforupdate;beginselectnum,idintov_kc,v_p_idfromkcwhereypname=v_name;ifv_kc>=v_numthenv_left:=v_num;foriterincur_batchkc(v_p_id)loopifiter.bnum>v_leftthenupdatebatchkcsetbnum=bnum-v_leftwherecurrentofcur_batchkc;EXIT;elsifiter.bnum=v_numthendeletefrombatchkcwherecurrentofcur_batchkc;EXIT;elsedeletefrombatchkcwherecurrentofcur_batchkc;v_left:=v_left-iter.bnum;endif;endloop;elseDBMS_OUTPUT.PUT_LINE('NotEnoughinInventory!');endif;end;/createorreplacetriggertri_batchkcafterdeleteorupdateonbatchkcforeachrowdeclarev_numNUMBER;beginifDELETINGthenupdatekcsetnum=num-:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026上半年貴州事業(yè)單位聯(lián)考六盤水市鐘山區(qū)招聘174人備考題庫有答案詳解
- 2026山東淄博桓臺縣面向退役大學生士兵專項崗位招聘備考題庫及完整答案詳解
- 2026云南中鋁數(shù)為(成都)科技有限責任公司社會招聘8人備考題庫附答案詳解
- 2026云南昆明市石林彝族自治縣第一期城鎮(zhèn)公益性崗位招聘6人備考題庫及一套參考答案詳解
- 2026安徽省面向北京師范大學選調(diào)生招錄備考題庫及參考答案詳解
- 2026北京市育英學校科學城學校招聘備考題庫(含答案詳解)
- 2026年1月廣東深圳大學附屬實驗中學選聘教師2人備考題庫含答案詳解
- 2026山東菏澤國花學校小學初中部教師招聘備考題庫及一套答案詳解
- 2026山東省青島市城陽區(qū)教育系統(tǒng)招聘高層次緊缺急需人才180人備考題庫及完整答案詳解一套
- 2025至2030中國元宇宙行業(yè)發(fā)展現(xiàn)狀及未來趨勢研究報告
- 2026年及未來5年中國TFT液晶面板行業(yè)市場發(fā)展數(shù)據(jù)監(jiān)測及投資方向研究報告
- 大唐集團機考行測題庫
- 車輛日常安全檢查課件
- 民航安全法律法規(guī)課件
- 山東省濟寧市2026屆第一學期高三質(zhì)量檢測期末考試濟寧一模英語(含答案)
- 光伏電站巡檢培訓課件
- 年末節(jié)前安全教育培訓
- 安全生產(chǎn)麻痹思想僥幸心理
- GB/T 93-2025緊固件彈簧墊圈標準型
- 建設工程測繪驗線標準報告模板
- 統(tǒng)編版九年級上冊語文期末復習:全冊重點考點手冊
評論
0/150
提交評論