PLSQL(二)
通过本文将学习到
- NULL的判断
- IF控制语句
- 循环控制语句
- 定义复杂类型
- 游标的处理
- 例外的声明
- 函数与存储过程的使用
- PLSQL中程序包的作用
2、NULL的判断
我一直以为NULL读nang,因为从我开始学计算机的时候别人就这么读。但是我昨天听到有人读no,我就觉得很奇怪很想改正他,但是我也不肯定自己对还是不对所以我就先去听了英式发音和美式发音没想到都读no。这让我觉得很尴尬,同时我也让我明白了很多事要去找资料不要人云亦云。
PLSQL中对NULL的判断很有趣,在AND中FALSE 和 NULL在一起就会成为FALSE而不是NULL,而在OR中TRUE和NULL也会是TRUE而不是NULL。说的有点空洞,来一张图来表示其中的关系。
这些判断条件在进行判断的时候非常有用,因为有的时候容易忘记,从而导致数据拿不出,或者报错!
3、PLSQL的控制语句
3.1、IF语句
在语言中肯定要有顺序、判断和循环,这是程序中不可或缺的语句,通过这些语句的相互结合而创造出那么多优秀的代码!PLSQL中的IF语句与其他高级语言非常类似用IF END IF作为开始和结束标签.ELSE IF 为不同时候的判断。其语法格式如下:
IF condition THEN
statements;
[ELSIF condition THEN
statements;]
[ELSE statements;]
END IF;
IF condition (此处为判断的条件,列如2>1之类) THEN (即将处理的语句)
STATEMENTS;(处理语句)
中括号代表可选项。
END IF;(是代表结束)
3.2、CASE语句
在PLSQL中也有类似于JAVA中的SWITCH语句,这就是CASE!当程序需要用垂直判断的时候这个CAES格外好用,其语法是:
CASE selector
WHEN expression1 THEN result1
WHEN expression2 THEN result2
... WHEN expressionN THEN resultN
[ELSE resultN+1;]
END;
CASE 条件是
中间分别都是其判断条件 WHEN 判断值到了那个条件 THEN 返回第几个结果
END;结束
3.3、LOOP语句
在PLSQL中有三种循环语句,LOOP便是其中的一种,不过我个人不太喜欢使用,因为它循环条件的判断有点奇怪。其语法是:
LOOP --标志循环开始
SQLSTATEMENT; --SQL语句
PLSQLSTATEMENT; --PLSQL语句
EXIT WHEN a>0; --判断循环退出的条件,与平时想的相反
END LOOP; --结束标签
DEMO:
DECLARE
v_number number:=10; --类似于JAVA中的初始化变量值
BEGIN
loop --循环的关键字
v_number := v_number -1; --循环条件的改变 相当于 i--;
dbms_output.put_line('v_number :'||v_number); --循环体
exit when v_number<6; --循环条件的判断 。 相当于 i>=6
end loop;
END;
3.4WEHILE循环
与JAVA中的WHILE循环没太大的区别,其语法为:
WHILE condition LOOP --当 condition代表条件循环
statement1;
statement2; --中间为执行的语句
. . .
END LOOP; --结束标签</