plsql测试
- 格式:doc
- 大小:28.00 KB
- 文档页数:1
whe n no _data_fo und the ninsert into emp(emp no,en ame,sal,dept no) values(2007,'smith',1500,10); whe n too_ma ny_rows the nfor v in (select * from emp where en ame='smith') loop dbms_output.put_line(v.emp no||' '||v.sal||' '||v.dept no);end loop;en d;4、 创建一个存储过程,以员工号为参数,输出该员工的工资。
create or replace procedure showsal(p_emp no emp.emp no%type) as v_sal emp.sal%type; beginselect sal into v_sal from emp where emp no=p_emp no; dbms_output.put_li ne(v_sal); en d; beginshowsal(7844);en d;5、 创建一个函数,以部门号为参数,返回该部门的平均工资; create or replace function fun _avgsal(p_dept no emp.dept no %type) return emp.sal%type as v_sal emp.sal%type; beginselect avg(sal) into v_sal from emp where dept no=p_dept no; return v_sal; en d; begindbms_output.put_li ne (fun _avgsal(10)); en d;1、 创建一个empl 表,其结构和数据与 emp 表完全一致。
plsql检查审计日志-概述说明以及解释1.引言1.1 概述概述:审计日志是系统中记录和存储关键操作和事件的重要组成部分。
PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库中的一种编程语言,广泛用于开发和管理数据库对象和业务逻辑。
PL/SQL检查审计日志是一种对数据库进行安全审计和监控的方法,通过对数据库中的操作进行记录和分析,可以帮助机构或组织保护其数据和系统免受潜在的安全风险和威胁。
本文将重点探讨PL/SQL检查审计日志的重要性以及实施该方法的一些技巧和策略。
我们将介绍为什么审计日志对于数据库安全至关重要,以及如何使用PL/SQL技术来监控和分析这些审计日志。
通过详细讨论PL/SQL检查审计日志的方法,我们将展示如何识别和跟踪恶意活动、异常操作和潜在的安全漏洞。
最后,通过总结和提出建议,我们将给出关于如何优化和改进PL/SQL检查审计日志的一些建议。
通过阅读本文,读者将了解到PL/SQL检查审计日志所能提供的安全保障,并学习如何使用该方法来确保数据库的完整性和可靠性。
了解PL/SQL检查审计日志的重要性和方法,将使读者更加具备保护数据库和系统免受安全威胁的能力。
1.2文章结构1.2 文章结构本文将按照以下结构来介绍PL/SQL检查审计日志的重要性以及方法。
首先,在引言部分将对整篇文章的概述进行说明,明确文章的目的。
接着,正文部分将重点讨论PL/SQL检查审计日志的重要性和方法。
在结论部分则对文章的主要内容进行总结,并提出对PL/SQL检查审计日志的一些建议。
在正文部分中,我们将首先详细解释PL/SQL检查审计日志的重要性。
通过审计日志的检查,系统管理员可以了解系统中各种操作的执行情况,包括用户登录、数据库操作、安全事件等。
这样做有助于及早发现潜在的安全问题和异常行为,并及时采取相应的措施进行应对。
我们将详细介绍PL/SQL检查审计日志在保障系统安全方面的重要作用。
PLSQL⾯试题⼀、求1-100之间的素数⼆、对所有员⼯,如果该员⼯职位是MANAGER,并且在DALLAS⼯作那么就给他薪⾦加15%;如果该员⼯职位是CLERK,并且在NEW YORK⼯作那么就给他薪⾦扣除5%;其他情况不作处理三、对直接上级是'BLAKE'的所有员⼯,按照参加⼯作的时间加薪:81年6⽉以前的加薪10%81年6⽉以后的加薪5%三、根据员⼯在各⾃部门中的⼯资⾼低排出在部门中的名次(允许并列).四、编写⼀个触发器实现如下功能:对修改职⼯薪⾦的操作进⾏合法性检查:a) 修改后的薪⾦要⼤于修改前的薪⾦b) ⼯资增量不能超过原⼯资的10%c) ⽬前没有单位的职⼯不能涨⼯资四、编写⼀个PL/SQL程序块,对名字以"A"或"S"开始的所有雇员按他们的基本薪⽔的10%加薪。
五、编写⼀PL/SQL,对所有的"销售员"(SALESMAN)增加佣⾦500.六、编写⼀PL/SQL,以提升两个资格最⽼的"职员"为"⾼级职员"。
(⼯作时间越长,优先级越⾼)七、编写⼀PL/SQL,对所有雇员按他们基本薪⽔的10%加薪,如果所增加的薪⽔⼤于5000,则取消加薪。
⼋、显⽰EMP中的第四条记录。
九、.编写⼀个给特殊雇员加薪10%的过程,这之后,检查如果已经雇佣该雇员超过60个⽉,则给他额外加薪3000答案:⼀、declarefag boolean:=true;beginfor i in 1..100 loopfor j in 2..i-1 loopif mod(i,j)=0 thenfag:=false;end if;end loop;if fag thendbms_output.put_line(i);end if;fag:=true;end loop;end;⼆、declarecursor c1 is select * from emp;c1rec c1%rowtype;v_loc varchar2(20);beginfor c1rec in c1 loopselect loc into v_loc from dept where deptno = c1rec.deptno;if c1rec.job = 'MANAGER' and v_loc = 'DALLAS' thenupdate emp set sal = sal * 1.15 where empno = c1rec.empno;elsif c1rec.job='CLERK' and v_loc = 'NEW YORK' thenupdate emp set sal = sal * 0.95 where empno = c1rec.empno;elsenull;end if;end loop;end;三、declarecursor c1 is select * from emp where mgr = (selectempno from emp where ename='BLAKE'); --直接上级是'BLAKE'的所有员⼯c1rec c1%rowtype;for c1rec in c1 loopif c1rec.hiredate < '01-6⽉-81' thenupdate emp set sal = sal * 1.1 where empno = c1rec.empno;elseupdate emp set sal = sal * 1.05 where empno = c1rec.empno;end if;end loop;end;三、<1> ⼀条SQL语句select deptno,ename,sal,(select count(*) + 1from emp where deptno = a.deptnoand sal > a.sal) as ordfrom emp aorder by deptno,sal desc;<2> PL/SQL块declarecursor cc isselect * from dept;ccrec cc%rowtype;cursor ck(no number) isselect * from emp where deptno = no order by sal desc;ckrec ck%rowtype;i number;j number;v_sal number:=-1;beginfor ccrec in cc loopi := 0;for ckrec in ck(ccrec.deptno) loopi := i + 1;--写⼊临时表if ckrec.sal = v_sal thennull;elsej:=i;end if;--显⽰DBMS_OUTPUT.put_line(ccrec.deptno||chr(9)||ccrec.ename||chr(9)||ckrec.sal||chr(9)||j); v_sal := ckrec.sal;end loop;end loop;end;四、create or replace trigger tr1after update of sal on empfor each rowbeginif :new.sal <= :old.sal thenraise_application_error(-20001,'修改后的薪⾦要⼤于修改前的薪⾦');elsif :new.sal > :old.sal * 1.1 thenraise_application_error(-20002,'⼯资增量不能超过原⼯资的10%');elsif :old.deptno is null thenraise_application_error(-20003,'没有单位的职⼯不能涨⼯资');end;四、DECLARECURSOR c1 ISSELECT * FROM emp WHERE SUBSTR(ename,1,1)=´A´ OR SUBSTR(ename,1,1)=´S´ FOR UPDATE OF sal; BEGINFOR i IN c1LOOPUPDATE emp SET sal=NVL(sal,0)+NVL(sal,0)*0.1 WHERE CURRENT OF c1;END LOOP;END;五、DECLARECURSOR c1 ISSELECT * FROM emp WHERE job=´SALESMAN´ FOR UPDATE OF sal;BEGINFOR i IN c1LOOPUPDATE emp SET sal=NVL(sal,0)+500 WHERE CURRENT OF c1;END LOOP;END;六、DECLARECURSOR c1 ISSELECT * FROM emp WHERE job=´CLERK´ ORDER BY hiredate FOR UPDATE OF job;--升序排列,⼯龄长的在前⾯BEGINFOR i IN c1LOOPEXIT WHEN c1%ROWCOUNT>2;DBMS_OUTPUT.PUT_LINE(i.ename);UPDATE emp SET job=´HIGHCLERK´ WHERE CURRENT OF c1;END LOOP;END;七、DECLARECURSOR c1 IS SELECT * FROM emp FOR UPDATE OF sal;BEGINFOR i IN c1LOOPIF (i.sal+i.sal*0.1)<=5000 THENUPDATE emp SET sal=sal+sal*0.1 whereEmpno=i.empnoDBMS_OUTPUT.PUT_LINE(i.sal);END IF;END LOOP;END;⼋、DECLARECURSOR c1 IS SELECT * FROM emp;BEGINFOR i IN c1LOOPIF c1%ROWCOUNT=4 THENDBMS_OUTPUT.PUT_LINE(i. EMPNO || ´ ´ ||i.ENAME || ´ ´ || i.JOB || ´ ´ || i.MGR || ´ ´ || i.HIREDATE || ´ ´ || i.SAL || ´ ´ ||M || ´ ´ || i.DEPTNO);EXIT;END IF;END LOOP;END;九、CREATE OR REPLACE PROCEDURE Raise_Sal(no IN NUMBER) ASvhiredate DATE;vsal emp.sal%TYPE;BEGINSELECT hiredate,sal INTO vhiredate,vsal FROM emp WHERE empno=no;IF MONTHS_BETWEEN(SYSDATE,vhiredate)>60 THENvsal:=NVL(vsal,0)*1.1+3000;ELSEvsal:=NVL(vsal,0)*1.1;END IF;UPDATE emp SET sal=vsal WHERE empno=no;END;/VARIABLE no NUMBERBEGIN:no:=7369;END;考试总分为100分,共8题,时间为1⼩时。
OraclePL/SQL面试题一、求1-100之间的素数declarefag boolean:=true;beginfor i in 1..100 loopfor j in 2..i-1 loopif mod(i,j)=0 thenfag:=false;end if;end loop;if fag thendbms_output.put_line(i);end if;fag:=true;end loop;end;二、对所有员工,如果该员工职位是MANAGER,并且在DALLAS工作那么就给他薪金加15%;如果该员工职位是CLERK,并且在NEW YORK工作那么就给他薪金扣除5%;其他情况不作处理declarecursor c1 is select * from emp;c1rec c1%rowtype;v_loc varchar2(20);beginfor c1rec in c1 loopselect loc into v_loc from dept where deptno = c1rec.deptno;if c1rec.job = 'MANAGER' and v_loc = 'DALLAS' thenupdate emp set sal = sal * 1.15 where empno = c1rec.empno;elsif c1rec.job='CLERK' and v_loc = 'NEW YORK' thenupdate emp set sal = sal * 0.95 where empno = c1rec.empno;elsenull;end if;end loop;end;三、对直接上级是'BLAKE'的所有员工,按照参加工作的时间加薪:81年6月以前的加薪10%81年6月以后的加薪5%declarecursor c1 is select * from emp where mgr = (selectempno from emp where ename='BLAKE'); --直接上级是'BLAKE'的所有员工c1rec c1%rowtype;beginfor c1rec in c1 loopif c1rec.hiredate < '01-6月-81' thenupdate emp set sal = sal * 1.1 where empno = c1rec.empno;elseupdate emp set sal = sal * 1.05 where empno = c1rec.empno;end if;end loop;end;三、根据员工在各自部门中的工资高低排出在部门中的名次(允许并列).<1> 一条SQL语句select deptno,ename,sal,(select count(*) + 1from emp where deptno = a.deptnoand sal>a.sal) as ordfrom empaorder by deptno,saldesc;<2> PL/SQL块declarecursor cc isselect * from dept;ccreccc%rowtype;cursor ck(no number) isselect * from emp where deptno = no order by saldesc;ckrecck%rowtype;i number;j number;v_sal number:=-1;beginfor ccrec in cc loopi := 0;for ckrec in ck(ccrec.deptno) loopi := i + 1;--写入临时表if ckrec.sal = v_sal thennull;elsej:=i;end if;--显示DBMS_OUTPUT.put_line(ccrec.deptno||chr(9)||ccrec.ename||chr(9)||ckrec.sal||chr(9)||j);v_sal := ckrec.sal;end loop;end loop;end;四、编写一个触发器实现如下功能:对修改职工薪金的操作进行合法性检查:a) 修改后的薪金要大于修改前的薪金b) 工资增量不能超过原工资的10%c) 目前没有单位的职工不能涨工资create or replace trigger tr1after update of sal on empfor each rowbeginif :new.sal<= :old.sal thenraise_application_error(-20001,'修改后的薪金要大于修改前的薪金');elsif :new.sal> :old.sal * 1.1 thenraise_application_error(-20002,'工资增量不能超过原工资的10%');elsif :old.deptno is null thenraise_application_error(-20003,'没有单位的职工不能涨工资');end if;end;四、编写一个PL/SQL程序块,对名字以"A"或"S"开始的所有雇员按他们的基本薪水的10%加薪。
用PL/SQL调试
1、前提:保证用户有权限debug any process, debug connect session;
2、找到存储过程右击,点添加调试信息(add debug information),然后点测试(test);
3、输入变量值,然后点(开始调试器),存过已经处于执行状态,别人不能再编译或者执行。
4、然后点(单步执行),下图已经进入了函数体内。
如果想要看某个变量具体的值,就在左下栏输入变量名。
5、如果存过的代码过多的话,单步执行效率就低了,我们可以双击行号打断点,然后点
(运行)直接运行到断点的位置。
注意:断点一定要达到本次测试数据(由开始录入的参数决定)必经之路上。
(假如你把断点打到一个不能经过的else分支上,那么是无法拦截,一run到底)
5、调试的时候,每一次单步执行的时候要记一下执行代码的行数,如果过程单步执行到某行后,再单步执行的时候,存过就退出,那么错误就在该行的下一行。
6、按钮说明
单步进入step into:单步调试,通俗讲就是一直往细节处跟踪,类似于打破砂锅问到底,哈哈;
单步跳过step over:平行调试, 可理解为a与b存储过程互为父子调用关系,就不会运行到b存储过程,而是a运行后直接运行到与a平级的下面代码;
单步退出step out:跳出,相对于step into,即从某个子存储过程跳出到它的父存储过程;
run to next exception:运行到下一个异常处,就直接运行存储过程出错的代码处.。
plsql面试题及答案PL/SQL面试题及答案1. 什么是PL/SQL?PL/SQL是一种过程化编程语言,旨在与Oracle数据库一起使用。
它是在标准SQL语言的基础上扩展而来的,具有更多的编程功能和控制结构。
PL/SQL可以用于编写存储过程、触发器、函数和包等数据库对象。
2. PL/SQL的优势是什么?PL/SQL具有以下几个优势:- 高性能:PL/SQL代码在数据库服务器上直接执行,减少了与数据库之间的通信开销,提高了性能。
- 数据库交互:PL/SQL可以与数据库进行高效交互,支持丰富的SQL语句和事务处理。
- 强大的编程功能:PL/SQL具有条件语句、循环语句、异常处理、游标等功能,使开发人员可以实现更复杂的业务逻辑。
- 结构化编程:PL/SQL支持模块化开发,可以将代码组织成存储过程、函数和包等可重复使用的单元。
- 安全性:PL/SQL提供了一系列的安全特性,包括访问控制、数据封装和异常处理等,确保数据的安全性和完整性。
3. PL/SQL中的控制结构有哪些?PL/SQL提供了以下控制结构:- 条件语句:IF-THEN、IF-THEN-ELSE、IF-THEN-ELSIF。
- 循环语句:LOOP、WHILE、FOR。
- 异常处理:EXCEPTION。
- CASE语句:CASE-WHEN-THEN。
- GOTO语句:用于跳转到指定的标签或代码块。
- NULL语句:用于忽略某些情况下的代码执行。
4. 如何定义变量和常量?在PL/SQL中,可以使用DECLARE语句定义变量和常量。
定义变量时需要指定变量的名称和数据类型,可以选择性地指定初始值。
例如:```sqlDECLAREemp_name VARCHAR2(100) := 'John Doe';emp_salary NUMBER := 5000;pi NUMBER := 3.14;max_attempts CONSTANT NUMBER := 3;```5. 如何使用游标?游标用于在PL/SQL中处理查询结果集。
plsqldeveloper12使用方法PL/SQL Developer 12 使用方法PL/SQL Developer 12 是一款功能强大的集成开发环境(IDE),专门用于开发和调试Oracle 数据库中的PL/SQL 程序。
本文将介绍如何正确使用 PL/SQL Developer 12,以帮助开发人员更高效地编写和管理 PL/SQL 代码。
一、安装和配置在开始使用PL/SQL Developer 12 之前,首先需要下载并安装该软件。
安装过程相对简单,只需按照安装向导的指示进行操作即可。
安装完成后,打开软件,会出现一个欢迎界面,点击"Next"按钮进入配置界面。
在配置界面中,需要设置连接到Oracle 数据库的相关信息,包括数据库的主机名、端口号、用户名和密码等。
确保输入的信息准确无误,并点击"Test"按钮测试连接是否成功。
如果连接成功,点击"Next"按钮进行下一步配置。
二、界面介绍PL/SQL Developer 12 的界面分为多个区域,包括菜单栏、工具栏、对象浏览器、编辑器等。
下面将逐一介绍这些区域的功能和使用方法。
1. 菜单栏和工具栏:菜单栏提供了各种功能的选项,可以通过点击菜单项来执行相应的操作。
工具栏上的图标提供了常用功能的快捷方式,方便快速访问。
2. 对象浏览器:对象浏览器位于左侧,用于显示数据库中的对象,如表、视图、存储过程等。
可以通过展开相应的节点来查看和管理这些对象。
3. 编辑器:编辑器是PL/SQL Developer 12 的核心功能之一,用于编写和编辑PL/SQL 代码。
在编辑器中,可以进行代码的输入、修改和保存等操作。
同时,编辑器还提供了代码自动补全、语法高亮等功能,大大提高了编码效率。
三、基本操作1. 新建文件:点击菜单栏的"文件"选项,选择"新建",或者使用快捷键"Ctrl + N"来新建一个空白文件。
plsql developer 12使用手册**一、介绍PL/SQL Developer 12的使用手册**PL/SQL Developer 12是一款强大的Oracle数据库开发工具,这款工具为开发者提供了丰富的功能,使得编写、调试和维护PL/SQL代码变得更加简单。
本使用手册将详细介绍如何安装、配置以及高效使用PL/SQL Developer 12。
**二、安装和配置PL/SQL Developer 12**1.下载PL/SQL Developer 12安装程序并根据安装向导完成安装。
2.安装完成后,启动PL/SQL Developer 12,按照提示完成初始配置。
**三、掌握PL/SQL Developer 12的主要功能和工具**PL/SQL Developer 12提供了丰富的功能和工具,包括项目管理、代码编辑、调试、测试、性能监测等。
在本手册中,我们将重点介绍如何使用这些功能和工具。
**四、详细介绍PL/SQL Developer 12的编辑器和工作区**1.编辑器:PL/SQL Developer 12的编辑器支持代码高亮、自动补全、语法检查等功能,帮助开发者快速编写高质量的代码。
2.工作区:PL/SQL Developer 12的工作区允许开发者轻松管理项目文件、数据库对象和版本控制。
**五、掌握PL/SQL Developer 12的调试和测试功能**1.调试:PL/SQL Developer 12提供了强大的调试功能,帮助开发者定位和修复代码中的问题。
2.测试:PL/SQL Developer 12支持编写和执行单元测试,确保代码质量。
**六、了解如何使用PL/SQL Developer 12进行团队协作**1.版本控制:PL/SQL Developer 12支持多种版本控制工具,如Git、SVN等。
2.团队协作:PL/SQL Developer 12提供共享项目功能,实现团队成员之间的协同工作。
plsql developer15使用技巧-回复PL/SQL Developer是一种专门用于开发和管理Oracle数据库的集成开发环境(IDE)。
它提供了许多实用的功能和技巧,帮助开发人员更高效地编写、测试和调试PL/SQL代码。
本文将一步一步回答关于PL/SQL Developer的使用技巧。
第一步:安装和启动PL/SQL Developer首先,我们需要从官方网站(Developer的安装程序,然后按照安装向导的指示进行安装。
完成安装后,我们可以在开始菜单或桌面上找到PL/SQL Developer的快捷方式。
点击快捷方式启动PL/SQL Developer。
在启动界面上,我们需要输入数据库连接信息,包括主机名、端口号、数据库名称、用户名和密码。
点击“连接”按钮,PL/SQL Developer将尝试连接到指定的数据库。
第二步:界面和编辑器功能一旦成功连接到数据库,我们将看到PL/SQL Developer的主界面。
主界面由多个面板组成,包括对象浏览器、编辑器、输出窗口、编译器等。
通过这些面板,我们可以轻松地导航和管理数据库对象,并编辑和执行PL/SQL代码。
编辑器是PL/SQL Developer的核心组件之一。
在编辑器中,我们可以编写和修改PL/SQL代码。
编辑器提供了许多实用的功能,如语法高亮、代码补全、代码折叠、括号匹配等。
我们可以使用这些功能提高代码编写的效率和准确性。
另外,编辑器还提供了一些快捷键和快捷操作,方便我们快速编辑和执行代码。
例如,按Ctrl + Enter键可以执行当前光标所在的语句;按Ctrl + D键可以格式化选中的代码块等等。
熟悉这些快捷键和操作可以极大地提高我们的工作效率。
第三步:调试和测试功能PL/SQL Developer还提供了强大的调试和测试功能,帮助我们在开发过程中找出代码中的错误和问题。
首先,我们可以使用断点功能在代码中设置断点,以便在执行过程中暂停程序的执行。
plsql developer15使用技巧Pl/SQL Developer 15使用技巧Pl/SQL Developer是一款用于开发和管理Oracle数据库的集成开发环境(IDE)。
它提供了丰富的功能和工具,可以帮助开发人员提高工作效率。
本文将分享一些Pl/SQL Developer 15的使用技巧,帮助您更好地利用这个强大的工具。
1. 安装和配置Pl/SQL Developer在开始之前,首先需要下载并安装Pl/SQL Developer 15。
安装完成后,您需要配置连接到Oracle数据库的参数。
进入工具栏上的“文件”菜单,选择“首选项”。
在弹出的对话框中,选择“数据库”选项,输入数据库连接信息,并测试连接是否成功。
2. 编写和执行PL/SQL代码Pl/SQL Developer提供了一个编写和执行PL/SQL代码的编辑器。
打开编辑器,您可以编写您的PL/SQL代码,并使用快捷键Ctrl + Enter执行代码。
您还可以使用菜单栏上的“执行”选项来执行代码。
3. 调试PL/SQL代码Pl/SQL Developer提供了强大的调试功能,以帮助您定位和解决代码中的错误。
在编辑器中,您可以使用快捷键F9设置断点,然后使用快捷键F5以调试模式执行代码。
当代码遇到断点时,它将停止执行,并允许您逐步检查每一步的执行情况。
4. 使用代码助手Pl/SQL Developer的代码助手是一个非常有用的功能,可以大大提高代码的编写速度和准确性。
打开编辑器,在您编写代码时,可以使用Ctrl + Space调出自动完成和代码建议。
您还可以使用Ctrl + Shift + Space显示参数信息和函数签名。
5. 使用查询构建器Pl/SQL Developer提供了一个强大的查询构建器,可以帮助您轻松地创建和编辑SQL查询。
在工具栏上选择“查询构建器”,然后按照向导的指引创建查询。
您可以选择表格、字段以及所需的条件和排序。
按自己学号的末位数字来选择题目,将答案保存成txt文件(答案内容带题号和题目),以班级学号姓名命名,上传到服务器。
上传地址:ftp://192.168.200.71/test
SQL>conn scott/test
Select table_name,tablespace_name from user_tables; --显示当前用户所拥有的表
或select owner,table_name from dba_tables where owner='SCOTT'
desc emp; --查看表结构
Select * from emp; --查看表数据
--这十个题只用到emp表
1、创建一个emp1表,其结构和数据与emp表完全一致。
用游标完成操作:显示工资低于1500的职员信息,并显示如果给他们涨30%工资后的工资。
2、编写一个PL/SQL块,输出所有员工的员工名、员工号、工资和部门号。
3、创建一个存储过程并调用,以2个整数为参数,输出工资在两者间的员工信息。
4、创建一个存储过程并调用,以员工号为参数,输出该员工的工资。
5、创建一个函数并调用,以部门号为参数,返回该部门的平均工资;
6、创建一个函数并调用,以员工号为参数,返回该员工所在部门的平均工资。
7、在emp表上创建一个触发器,当插入、删除或修改员工信息时,统计各个部门的人数及平均工资,并输出。
8、在emp表上创建一个触发器,当插入、删除或修改员工信息时,统计各个部门的人数及平均工资并输出。
9、创建一个存储过程并调用,以2个整数为参数,输出工资在两者间的员工信息。
10、创建一个存储过程并调用,以部门号为参数,输出该部门入职日期最早的5个人信息。