下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗十 PL/SQL 高級應(yīng)用實驗?zāi)康恼莆?PL/SQL 高級應(yīng)用,包括過程及函數(shù)的創(chuàng)建與使用。實驗內(nèi)容1.過程的創(chuàng)建與使用2.函數(shù)的創(chuàng)建使用實驗步驟1.創(chuàng)建一個過程 SELECT_DEPT,以部門號為 IN 參數(shù),查詢顯示該部門的平均工資,并顯示輸出該部門中比平均工資高的員工號、員工名,如果部門號對應(yīng)出“該部門不存在,請重新輸入?!保徊淮嬖?,提示輸測試調(diào)用:編寫一個的相關(guān)內(nèi)容。PL/SQL 塊調(diào)用過程 SELECT_DEPT,查詢部門號為 30 部門create or replace procedure SELECT_DEPT(fied_deptno dept.deptno%type) as
2、deptno_temp dept.deptno%type; avg_sal emp.sal%type;beginselect deptnoo deptno_temp from dept where deptno=fied_deptno;select round(avg(sal)o avg_sal from emp wheredeptno=fied_deptno;dbms_output.put_line(fied_deptno |號部門平均工資為 | avg_sal); dbms_output.put_line(*);for v_emp in (select * from emp where s
3、alavg_sal)loopdbms_output.put_line(v_emp.empno | end loop;exception| v_emp.ename);when no_data_found then dbms_output.put_line(該部門不存在,請重新輸入。); end;begin SELECT_DEPT(20);end;2. 編寫過程 UPDATE_SAL,實現(xiàn)漲工資的功能,輸入?yún)?shù)為員工,如果他的工作年限是 10-15 年,工資增加 1300,工作年限是 16-20 年工資增加 2000,年限超過 20 年工資增加 3000;輸出參數(shù)為員工名和現(xiàn)在的工資數(shù)目;測試調(diào)用
4、:編寫一個PL/SQL 塊調(diào)用過程 UPDATE_SAL,實現(xiàn)員工“SMITH”及“CLARK”的工資增長,并顯示輸出工資增長前后的數(shù)目。create or replace procedure UPDATE_SAL(fied_ename emp.ename%type) asename_temp emp.ename%type; add_temp emp.sal%type;sal_temp emp.sal%type;nian number:=0; beginselect trunc(months_betn(sysdate,hiredate)/12)o nian from emp where ena
5、me=fied_ename;select salo sal_temp from emp where ename=fied_ename;if nian 9 and nian 16 and nian 20 then add_temp:=3000;end if;update emp set sal=sal+ sal_temp where ename=fied_ename;dbms_output.put_line(fied_ename | sal_temp:=sal_temp+add_temp; dbms_output.put_line(fied_ename | end;begin UPDATE_SA
6、L(CLARK);end;修改前工資為 | sal_temp);修改后工資為 | sal_temp);3. 創(chuàng)建一個過程 FIND_NUMBER,以部門號為參數(shù),返回該部門的總?cè)藬?shù)與該部門MANAGER 對應(yīng)的員工名,如果部門號對應(yīng)新輸入。”;測試調(diào)用:編寫一個PL/SQL 塊調(diào)用的總?cè)藬?shù)及經(jīng)理名并顯示輸出。不存在,提示輸出“該部門不存在,請重過程 FIND_NUMBER,查詢部門號為 10 部門create or replace procedure FIND_NUMBER(fied_deptno dept.deptno%type) asdeptno_temp dept.deptno%type
7、; count_emp number; manager_ename emp.ename%type;beginselect deptno select count(*)select enameo deptno_temp from dept where deptno=fied_deptno;o count_emp from emp where deptno=fied_deptno;o manager_ename from emp where deptno=fied_deptno and job=MANAGER;dbms_output.put_line(fied_deptno | 號部門總?cè)藬?shù)為 |
8、 count_emp); dbms_output.put_line(MANAGER: | manager_ename);exceptionwhen no_data_found then dbms_output.put_line(該部門不存在,請重新輸入。); end;begin FIND_NUMBER(20);end;4. 創(chuàng)建一個以部門號為參數(shù),返回該部門最高工資的函數(shù) RETURN_MAXSAL;測試調(diào)用:編寫一個PL/SQL 塊循環(huán)游標遍歷 EMP 表,取得部門號賦給該函數(shù),并依次打印函數(shù)返回值。create or replace function RETURN_MAXSAL(fied_
9、deptno emp.deptno%type)return emp.sal%type asmax_sal emp.sal%type; beginselect max(sal)o max_sal from emp where deptno=fied_deptno; return max_sal;end ; declaremax_sal emp.sal%type; beginfor deptno_emp in (select deptno from emp)loopselect RETURN_MAXSAL(deptno_emp.deptno) dbms_output.put_line(max_sa
10、l);end loop;end;o max_sal from dual;5. 編寫一個函數(shù) FUNC_FIND,輸入?yún)?shù)是員工號,功能是如果該職工的職務(wù)是經(jīng)理,而且工資大于 5000,返回(工資+工資*20%),否則返回(工資+工資*40%);測試調(diào)用:編寫一個次打印函數(shù)返回值。PL/SQL 塊循環(huán)游標遍歷 EMP 表,取得員工號賦給該函數(shù),并依create or replace function FUNC_FIND(fied_empno emp.empno%type) return emp.sal%type astemp_job emp.job%type; temp_sal emp.sal%type; add_sal emp.sal%type;beginselect job,salo temp_job,temp_sal from emp where empno=fied_empno;if temp_job=MANAGER and temp_sal5000 then add_sal:=temp_sal*1.2; else add_sal:=temp_sal*1.4;end if;return add_sal; end ;de
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基因與遺傳?。横t(yī)院培訓(xùn)課件
- 落實工作督查督辦制度
- 網(wǎng)吧現(xiàn)場巡查制度
- 教育行業(yè)IT場景化解決方案重點實驗室高性能計算
- 《AIGC平臺應(yīng)用實戰(zhàn)》電子教案 項目二 DeepSeek的應(yīng)用
- 大型閘門啟閉機更換施工方案
- 圍堰改導(dǎo)流渠施工方案
- 住宅弱電智能化工程施工技術(shù)方案
- 教師課件制作培訓(xùn)教案
- 2025年沾益縣招教考試備考題庫及答案解析(必刷)
- 2026四川省引大濟岷水資源開發(fā)有限公司第一批次招聘27人備考題庫及完整答案詳解
- 2025-2026學(xué)年北京市昌平區(qū)高三(上期)期末考試英語試卷(含答案)
- 粉塵防爆教育培訓(xùn)制度
- 企業(yè)安全生產(chǎn)標準化建設(shè)與實施手冊(標準版)
- 《中國養(yǎng)老金精算報告2025-2050》原文
- 2025年土地租賃居間服務(wù)合同
- 五個帶頭方面問題清單(二)
- 廣東省衡水金卷2025-2026學(xué)年高三上學(xué)期12月聯(lián)考物理試題(含答案)
- (正式版)JBT 14933-2024 機械式停車設(shè)備 檢驗與試驗規(guī)范
- GB/T 15622-2023液壓缸試驗方法
- 淋膜作業(yè)標準指導(dǎo)書
評論
0/150
提交評論