如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
1.创建一个存储过程,以员工号为参数,输出该员工的工资。CREATEORREPLACEPROCEDURESHOWSAL(p_empnoemp.empno%type)ASv_salemp.sal%TYPE;BEGINSELECTsalINTOv_salFROMempWHEREempno=p_empno;DBMS_OUTPUT.PUT_LINE(v_sal);END;beginshowsal(7844);end;3.创建一个存储过程,以员工号为参数,返回该员工的工作年限。CREATEORREPLACEPROCEDUREreturnyear(p_empnoemp.empno%type,p_dateoutnumber)asBEGINselectfloor((sysdate-hiredate)/365)intop_datefromempwhereempno=p_empno;END;declarep_datenumber(2);beginreturnyear(7844,p_date);DBMS_OUTPUT.PUT_LINE(p_date);end;4.创建一个存储过程,以部门号为参数,输出入职日期最早的10个员工的信息。CREATEORREPLACEPROCEDUREshowdate(p_deptnoemp.deptno%type)AScursorc_dateisselect*fromempwheredeptno=p_deptnoandrownum<11orderbyhiredatedesc;BEGINforvinc_dateloopDBMS_OUTPUT.PUT_LINE(v.hiredate);endloop;END;beginshowdate(10);end;以部门号为参数,输出部门的最高工资,分别以存储过程,函数的方式实现。CREATEORREPLACEPROCEDUREshow_p(v_deptnoemp.deptno%type)asv_maxsalemp.sal%TYPE;beginselectmax(sal)intov_maxsalfromempwheredeptno=v_deptno;DBMS_OUTPUT.PUT_LINE(v_maxsal);end;execshow_p(20);CREATEORREPLACEFUNCTIONshow_f(p_deptnoemp.deptno%TYPE)RETURNemp.sal%TYPEASv_maxsalemp.sal%TYPE;BEGINSELECTmax(sal)INTOv_maxsalFROMempWHEREdeptno=p_deptno;RETURNv_maxsal;END;select*fromempwheresal=show_f(20);declarev_maxsalemp.sal%type;beginshow_p(20);v_maxsal:=show_f(20);DBMS_OUTPUT.PUT_LINE(v_maxsal);end;