搜寻式CASE语句

搜寻式CASE语句不同于一般CASE语句,一般语句通过选择器比较进行筛选,搜寻式CASE没有选择器,WHEN子句中的条件表达式如果为真,则执行THEN相应语句。相比于一般的CASE语句,搜寻式CASE更加灵活。

语法:

case ::=

参数:

expression PLOSCAR标量表达式

<statements> PLOSCAR语句列表

示例:搜寻式CASE语句

--清理环境
drop procedure case_search;

--创建过程
create or replace procedure case_search(a int,b int)as
begin
    case
        when a < b then 
            dbms_output.put_line(a || ' <' || b);
        when a > b then 
            dbms_output.put_line(a || ' >' || b);
        else 
            dbms_output.put_line(a || ' = ' || b);
        end case;
end;

/

exec case_search(a=>1,b=>2);

--删除过程
drop procedure case_search;