CASE语句的基本形式为 :
CASE selector
WHEN expression1 THEN result1
WHEN expression2 THEN result2
WHEN expressionN THEN resultN
[ ELSE resultN+1]
END CASE;
IF语句的复杂形式为 :
IF <布尔表达式> THEN
PL/SQL 和 SQL语句
ELSIF < 其它布尔表达式> THEN
其它语句
ELSIF < 其它布尔表达式> THEN
其它语句
…… ……
ELSE
其它语句
END IF;
如下举例:
DECLARE
v_name EMP.ename%type ;
v_id EMP.empno%type;
v_story VARCHAR2(50);
v_home varchar2(10);
v_loc varchar2(10);
BEGIN
select ename,empno into v_name, v_id from emp
where job='PRESIDENT';
select deptno into v_loc from EMP
where ename=v_name;
if v_id<=7478 then v_story:=' 因为X生活不和谐,他们最后离婚了';
elsif v_id>7378 then v_story:=' 他们幸福滴生活在一起!';
end if;
v_home:=
case v_loc
when 10 then 'BeiJing'
when 20 then 'Xian'
else 'wc'
end;
dbms_output.put_line('王晨遇到一个妹子,他的名字是'||v_name||',他的编号是'||v_id||',五年之后'||v_story||',他们住在'||v_home||'.');
END;