条件语句
功能描述
条件语句的主要作用是判断参数或者语句是否满足已给定的条件,根据判定结果执行相应的操作。
语法格式
Vastbase中支持如下多种形式的条件语句。
IF_THEN
IF_THEN语句是IF的最简单形式。如果条件为真,statements将被执行。否则,将忽略它们的结果使该IF_THEN语句执行结束。
示例:
declare
n int;
begin
n :=95;
raise info 'n:%',n;
if n>85 then raise info '优秀';
end if;
end;
/
返回结果为:
INFO: n:95
INFO: 优秀
ANONYMOUS BLOCK EXECUTE
IF_THEN_ELSE
IF_THEN_ELSE语句增加了ELSE的分支,可以声明在条件为假的时候执行的语句。
该语法还可以进行嵌套使用,嵌套方式如下所示:
IF sex = 'm' THEN
pretty_sex := 'man';
ELSE
IF sex = 'f' THEN
pretty_sex := 'woman';
END IF;
END IF;
这种形式实际上就是在一个IF语句的ELSE部分嵌套了另一个IF语句。
IF_THEN_ELSE_IF
IF_THEN_ELSE语句增加了ELSE的分支,可以声明在条件为假的时候执行的语句。
IF_THEN_ELSIF_ELSE
IF_THEN_ELSE语句增加了ELSE的分支,可以声明在条件为假的时候执行的语句。
IF_THEN_ELSEIF_ELSE
ELSEIF是ELSIF的别名。语法格式和用法均与IF_THEN_ELSIF_ELSE相同。
示例
示例1: 在函数中使用IF语句。
1、创建函数。
CREATE OR REPLACE FUNCTION FUN_1165174(n int )
return varchar2
AS
begin
raise info 'n:%',n;
if n>85 then raise info '优秀';
elseif n>70 then raise info '良好';
elseif n>=60 then raise info '合格';
else raise info '不合格';
end if;
return '标记情况结束!';
end;
/
2、调用函数。
call FUN_1165174(100);
call FUN_1165174(60);
call FUN_1165174(20);
返回结果分别为:
INFO: n:100
INFO: 优秀
fun_1165174
----------------
标记情况结束!
(1 row)
INFO: n:60
INFO: 合格
fun_1165174
----------------
标记情况结束!
(1 row)
INFO: n:20
INFO: 不合格
fun_1165174
----------------
标记情况结束!
(1 row)
示例2: 在匿名块中使用IF语句。
declare
n int;
begin
n :=95;
raise info 'n:%',n;
if n>85 then raise info '优秀';
elseif n>70 then raise info '良好';
elseif n>60 then raise info '合格';
else raise info '不合格';
end if;
raise info '标记情况结束!';
end;
/
返回结果为:
INFO: n:95
INFO: 优秀
INFO: 标记情况结束!
ANONYMOUS BLOCK EXECUTE