给变量赋值
1.每次块或者子程序被访问时,变量和常量都进行初始化。除非你给变量赋值,否则变量总是被默认初始化成NULL。
DECLARE
counter INTEGER;
BEGIN
-- counter初始化为 NULL, 所以 counter+1也是NULL
counter := counter + 1;
IF counter IS NULL THEN
DBMS_OUTPUT.PUT_LINE('counter为NULL 而不是 1.');
END IF;
END;
2.给布尔类型变量赋值
只有 TRUE,FALSE,NULL可以被赋值给布尔类型的变量。
因为SQL没有BOOLEAN类型,所以不能select 列值 into 布尔类型变量。
3. 布尔类型逻辑操作
TRUE和FALSE之间逻辑操作不需要额外注意,需要注意的是TRUE,FLASE和NULL之间的逻辑操作。
NULL AND TRUE -- null
NULL OR TRUE -- true
NULL AND FALSE --false
NULL OR FALSE --null
NOT NULL --null