一、实验目的
1.熟悉掌握PL/SQL编程中的变量定义语句
2.熟悉掌握PL/SQL编程中的条件语句和循环语句等流程控制语句。
3.能熟练使用上述基本语句编写PL/SQL代码完成指定的数据处理功能。
二、实验内容
1、简单PL/SQL块程序编写与运行,要求:接收某一姓名信息XXX,并输出显示“Hello XXX,今天是:当前日期”。
2、练习PL/SQL中各种类型变量的定义和使用。
参见教材p140实验1,以scott模式下的表为例或以用户自定义的表为例,举例练习PL/SQL中各种类型变量的定义和使用(包括标量变量、%type类型变量、自定义记录变量、%rowtype变量)。将所有举例的PL/SQL语句记录下来。
- 使用标量变量。
(2)使用%type类型的变量。
(3)自定义记录变量。
(4)使用%rowtype变量。
3、练习使用基本流程控制(循环)语句编写PL/SQL代码完成指定的数据处理功能。
(1)利用LOOp循环方式计算1到100之间的偶数项之和(运行结果:2550)。
(2)利用WHILE循环打印出50以内所有能被3整除的整数,以及该整数的个数(运行结果:16)。
(3)利用FOR循环计算并输出S=1!+2!+…+10! (运行结果:4037913)。
4、练习使用基本流程控制语句编写PL/SQL代码完成指定的数据处理功能。
示例:
题目要求:使用临时变量(&ename),要求用户输入雇员名,PL/SQL代码输出该雇员所在的部门名。
(1)题目要求:使用临时变量(&e_no)要求用户输入雇员号,利用IF语句判断该雇员的岗位是否为’CLERK’,如果是则将该雇员的工资提高1%。
(2)题目要求:使用临时变量(&d_no)要求用户输入部门号,根据输入的部门号,利用使用选择器的case判断:
若是10号部门,则将该部门雇员的补助(对应EMP表中的字段COMM)改为100;若是20号部门,则将该部门雇员的补助改为80;若是30号部门,则将该部门雇员的补助改为50,否则输出“不存在该部门!”
(3)题目要求:使用临时变量(&e_no)要求用户输入雇员号,根据输入的雇员号,利用不使用选择器的case判断:
若雇员工资小于1000,则将该雇员的补助(对应EMP表中的字段COMM)改为100;若雇员工资在1000到2000,则将该雇员的补助改为80;若雇员工资大于2000,则将该雇员的补助改为50
实验六附加:PL/SQL编程基础(1)
一、实验目的
1.熟悉掌握PL/SQL编程中的变量定义语句。
2.熟悉掌握PL/SQL编程中的条件语句和循环语句等流程控制语句。
3.能熟练使用上述基本语句编写PL/SQL代码完成指定的数据处理功能。
二、实验内容
1、创建一个表stu,该表只有一个字段sno 类型是number(2),编写一个块,向stu表中添加数字1到10,但不包括4和7。
(1)创建表格。
(2)使用PL/SQL块向stu表中添加数据。
2、为Scott用户下的emp表增加一个列stars,类型为VARCHAR2(100)。创建一个PL/SQL块,通过输入任意员工编号(&e_no),根据员工的工资计算他能获得的星号’*’数量,每100元奖励一个星号,按四舍五入处理(使用函数round)。并根据员工所获得的星号数量n,形成由n个星号组成的字符串,写入emp表的stars列。
例如:若输入7369,PL/SQL块能向emp表中编号为7369的员工的starts列添加8个’*’,对编号为7369的员工工资和星级查询时,显示结果如下:
- 为emp表增加一个列stars。
- 使用PL/SQL块向emp表中某个员工的starts列添加’*’号。