PL/SQL基础教程:实用示例解析

需积分: 3 1 下载量 35 浏览量 更新于2024-10-18 收藏 15KB TXT 举报
"这篇资料提供了几个实用的PL/SQL示例,适合初学者学习。主要涉及了查询数据、计算年工资、批量更新员工薪水以及插入新记录等操作。" PL/SQL是Oracle数据库中的过程化语言,它结合了SQL查询功能和高级编程语言的特性,使得数据库管理、数据处理和应用开发更为高效。以下将详细解析给出的四个PL/SQL代码片段: 1. 查询并显示单个员工信息: 这个示例展示了如何声明一个变量`erecemp%ROWTYPE`,用于存储`emp`表中的一行记录。通过`DECLARE`开始定义变量,`BEGIN`和`END;`之间是执行的代码块。`SELECT * INTO erec FROM emp WHERE empno=&empleno;`将查询结果存入变量`erec`,然后使用`DBMS_OUTPUT.PUT_LINE`打印出员工的详细信息。 2. 计算并显示员工年工资: 在这个例子中,声明了两个变量`esal`和`eename`,分别用来存储员工的年工资(包括基本工资和奖金)和姓名。`SELECT (NVL(sal,0)+NVL(comm,0))*12, ename INTO esal, eename FROM emp WHERE empno=&empleno;`这行代码将员工的年工资和姓名赋值给变量,然后用`DBMS_OUTPUT.PUT_LINE`打印出员工的名字和年工资。 3. 批量提升员工薪水: 此代码片段用于按部门编号批量提升员工薪水。声明了一个变量`vcounter`作为循环计数器,初始值设为10,每次循环增加10,直到超过40(假设最大部门编号为40)。`LOOP`开始循环,`EXIT WHEN vcounter > 40;`在条件满足时退出循环。`UPDATE emp SET sal = NVL(sal, 0) + NVL(sal, 0) * 0.05 WHERE deptno = vcounter;`这句更新语句提升了指定部门所有员工的薪水,提升比例为5%。 4. 插入新员工记录: 这部分展示了如何在`emp`表中插入10条新记录,每条记录的`empno`比当前最大`empno`大1。首先,`SELECT MAX(empno) INTO vcounter FROM emp;`找出当前最大的员工编号,然后通过`FOR i IN 1..10 LOOP`循环插入新记录,`vcounter:=vcounter+1;`递增编号,`INSERT INTO emp(empno) VALUES(vcounter);`插入新行。 这些PL/SQL实例覆盖了基础的查询、变量操作、流程控制和数据修改,对于初学者来说是非常有价值的实践案例。学习并理解这些代码可以帮助你更好地掌握PL/SQL编程,并能在实际工作中运用。