第十章 Oracle中的控制语句
set serverout on;
- 使oracle自带的输出方法可用
dbms_output.put_line();
- oracle自带输出方法
declare:用于定义一个变量
- 用法:declare 变量名 数据类型;
begin…end
- begin …end的意义可以理解为SQL语句执行的上下限,begin 是上限,SQL开始的地方,end是下限sql语句结束的地方.
‘/’
- 当输入多行sql语句时,使用 / 可退出sql语句编辑,返回结果;
条件语句
-
if else
-
写法一
if 条件 then 语句块; end if;
-
写法二
if 条件 then 语句块; else 语句块; end if ;
-
写法三
if 条件1 then 语句块; elsif 条件2 then 语句块; else 语句块; end if;
-
-
case when
-
使用形式1
-
Oracle将变量/表达式的实际值与值1、值2相等,则执行对应的流程语句,否则,执行默认流程语句。用法如下:
case 变量/表达式 when 值1 流程语句1 when 值2 流程语句2 .... else 默认流程语句 end case;
-
-
使用形式2
-
Oracle依次计算布尔表达式,如果布尔表达式为真,执行对应的流程语句,否则,执行默认流程语句。用法如下:
case when 布尔表达式1 流程语句1 when 布尔表达式2 流程语句2 ... else 默认流程语句 end case;
-
-
循环语句
-
无条件循环
-
无条件循环再循环开始时,不指定循环条件,但是必须在循环内部指定跳出循环的条件,否则,该循环将一直执行,造成死循环。用法如下:
loop 循环操作 end loop;
-
举例:当id=4时,结束循环
-
对于无条件循环,一定要保证在循环内部可以利用exit语句跳出循环;否则,将造成死循环;
-
-
-
while循环
-
while语句可以在循环开始时指定循环条件。只有当条件成立时,才会进行循环处理。用法如下:
while 条件循环 loop 循环操作 end loop;
-
举例:
-
-
-
for循环
-
for循环用于循环次数已知的场景。用法如下:
for 变量S in a..b loop 循环操作; end loop; ##变量S的取值: 整数; 初始值为a, 每次循环自增1, 取值范围:大于等于a且小于等于b
-
举例:
-
-