一、IF语句 在PL/SQL中,if, then, else, elsif, endif等关键字用来执行条件逻辑 语法格式: if 条件1 then 语句1 elsif 条件2 then 语句2 else 语句3 end if;
例1:练习if结构 解:注意下图中的程序: 二、case语句 语法结构: case 变量 when 值1 then 语句1; when 值2 then 语句2; when 值3 then 语句3; …… when 值n then 语句n; [else 语句] end case; 其中[else 语句]可写可不写。
例2:练习case语句 解:注意下图中的程序: 例3:练习case语句 解:输出当前时间是星期几,首先查看当前系统时间是一周的第几天: 其中to_char(sysdate,’d’)是将当前系统时间格式化,只显示天,Oracle由于是老外开发的数据库系统,所以一周第1天是星期日,第2天是星期一,……,第7天是星期六,所以程序如下: 三、循环 1.LOOP循环的语法格式: loop 循环语句 end loop;
比如: counter := 0; loop counter := counter + 1; exit when counter = 5; end loop;
例4:练习loop循环 解:注意下图中的程序: 发现没有输出结果到控制台,那么可用如下方式添加代码: 输出结果: 2.WHILE循环语法格式: while 条件 loop 语句 end loop
比如: counter := 0; while counter < 6 loop counter := counter +1; end loop;
例5:练习while循环 解:注意下图中的程序: 3.FOR循环语法格式 for 变量 in [revers] 变量初值..变量循环结束值 loop 语句 end loop;
比如: for i in 1..10 loop dbms_output.put_line(‘i = ‘ + i); end loop;
例6:练习for循环 解:注意下图中的程序: 例7:展示99乘法表 解:注意下图中的程序: 其中dbms_out.put()是输出语句但是不换行,如果dbms_output.put_line()是输出语句并换行,所以上图中第7行在里层循环结束后打印null,目的实则是换行。
例8:请编写PL/SQL程序,将查询student表中sno,sname放入记录表变量中,并将记录表变量中的数据打印出来。 解:注意下图中的程序:
其中第6行是将记录t_record中的给记录表t_tab,即t_record中有id和name,那么t_tab中也有。 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|