PL/SQL基础教程:实用示例解析
需积分: 3 4 浏览量
更新于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编程,并能在实际工作中运用。
123 浏览量
345 浏览量
536 浏览量
2008-05-07 上传
154 浏览量
240 浏览量
点击了解资源详情
点击了解资源详情
111 浏览量