内容发布更新时间 : 2024/12/29 7:22:17星期一 下面是文章的全部内容请认真阅读。
实验五
实验内容: 1.使用条件语句
执行例9.4中程序,观察运行结果。 例9.4
下面演示了IF语句的使用方法,代码如下: SET ServerOutput ON; DECLARE
Num INTEGER := -11; BEGIN
IF Num < 0 THEN
dbms_output.put_line('负数'); ELSIF Num > 0 THEN
dbms_output.put_line('正数'); ELSE
dbms_output.put_line('0'); END IF; END; /
程序中声明了一个整形变量Num,使用IF语句判断Num是正数、负数或者0,程序运行结果为‘负数’。
2.使用分支语句
执行例9.5中程序,观察运行结果。 例9.5
使用CASE语句根据给定的整数输出对应的星期值,代码如下: SET ServerOutput ON; DECLARE
varDAY INTEGER := 3; Result VARCHAR2(20); BEGIN
Result := CASE varDAY
WHEN 1 THEN '星期一' WHEN 2 THEN '星期二' WHEN 3 THEN '星期三' WHEN 4 THEN '星期四' WHEN 5 THEN '星期五' WHEN 6 THEN '星期六' WHEN 7 THEN '星期七' ELSE '数据越界' END;
dbms_output.put_line(Result); END; /
程序中声明了一个整形变量varDAY和一个字符型变量Result。使用CASE语句判断varDAY变量是星期几。如果变量varDAY在1~7之间,则能显示相应的星期信息:否则返回提示信息‘数据越界’。程序运行结果为‘星期三’。
3.使用循环语句
执行例9.6和例9.9中程序,观察运行结果。 例9.6
下面是关于LOOP…EXIT…END语句的示例程序,代码如下: SET ServerOutput ON; DECLARE
v_Num INTEGER := 1; v_Sum INTEGER := 0; BEGIN LOOP
v_Sum := v_Sum + v_Num;
dbms_output.put_line(v_Num); IF v_Num = 3 THEN EXIT; END IF;
dbms_output.put_line(' + '); v_Num := v_Num + 1; END LOOP;
dbms_output.put_line(' = '); dbms_output.put_line(v_Sum); END; /
程序将计算1~3的累加结果,程序运行如下: 1+2+3=6
例9.9
例9.6的程序也可以用FOR…IN…LOOP…END LOOP语句实现,代码如下: SET ServerOutput ON; DECLARE
v_Num INTEGER; v_Sum INTEGER := 0; BEGIN
FOR v_Num IN 1..3 LOOP
v_Sum := v_Sum + v_Num;
dbms_output.put_line(v_Num); IF v_Num < 3 THEN
dbms_output.put_line(' + '); END IF; END LOOP;
dbms_output.put_line(' = '); dbms_output.put_line(v_Sum); END; /
1. 使用PL/SQL函数
执行例9.12和例9.26中的程序,观察运行结果。 例9.12
如果要计算-4的绝对值,可以执行一下命令。 SET ServerOutput ON; BEGIN
dbms_output.put_line(ABS(-4)); END; /
例9.26
执行以下语句可以统计Users中最小的用户编号: SELECT MIN(UserID) FROM UserManAdmin.Users;