1 逻辑比较
布尔表达式由组成
布尔表达式的结果为TRUE、FALSE或NULL,通常由逻辑运
算符AND、OR和NOT连接
布尔表达式有三种类型:
数字布尔型
字符布尔型
日期布尔型
2 set serveroutput on
dbms_output.put_line将必要的信息输出,以便对存储过程进行调试,只有将serveroutput变量设为on后,信息才能显示在屏幕上。
3 条件控制
IF 语句
CASE 语句
3.1 条件控制 IF
IF 语句根据条件执行一系列语句,有三种形式:
IF-THEN
IF-THEN-ELSE
IF-THEN-ELSIF
示例1
declare sex number;begin sex :=&sex; if sex = 1 then DBMS_output.put_line('性别为男'); else DBMS_output.put_line('性别为女'); end if;end;
示例2
declare sex number;begin sex :=&sex; if sex = 1 then DBMS_output.put_line('性别为:男'); elsif sex =2 then DBMS_output.put_line('性别为:女'); else DBMS_output.put_line('性别为:保密'); end if;end;
3.2 条件控制CASE
CASE 语句用于根据单个变量或表达式与多个值进行比较
执行 CASE 语句前,先计算选择器的值
示例一
declare grade varchar2(10);begin grade :='&grade'; CASE grade when 'A' then DBMS_output.put_line('Java初级程序员'); when 'B' then DBMS_output.put_line('Java中级程序员'); when 'C' then DBMS_output.put_line('Java高级程序员'); when 'D' then DBMS_output.put_line('Java资深级程序员'); else DBMS_output.put_line('你不是程序员'); end CASE;end;
示例二
BEGIN CASE ‘&grade’ WHEN ’A’ THEN DBMS_OUTPUT.PUT_LINE(’优异’); WHEN ’B’ THEN DBMS_OUTPUT.PUT_LINE (优秀’); WHEN ’C’ THEN DBMS_OUTPUT.PUT_LINE (’良好’); WHEN ’D’ THEN DBMS_OUTPUT.PUT_LINE (’一般’); WHEN ’F’ THEN DBMS_OUTPUT.PUT_LINE (’较差’); ELSE DBMS_OUTPUT.PUT_LINE (’没有此成绩’); END CASE;END;