Значением по умолчанию для любой переменной любого типа данных, которой не присвоено значение, является NULL
; это то же самое для OUT
параметров (которые фактически являются просто другой переменной, которой можно присвоить значение).
BOOLEAN
типы данных не являются исключением, поскольку они могут иметь три возможных состояния:
Например, здесь отображаются значения неназначенного BOOLEAN
(а затем значения после него были присвоены значения):
DECLARE
value BOOLEAN;
PROCEDURE print_boolean( message VARCHAR2, value BOOLEAN )
IS
BEGIN
DBMS_OUTPUT.PUT( message );
IF value = TRUE THEN
DBMS_OUTPUT.PUT_LINE( 'True' );
ELSIF value = FALSE THEN
DBMS_OUTPUT.PUT_LINE( 'False' );
ELSIF value IS NULL THEN
DBMS_OUTPUT.PUT_LINE( 'Null' );
ELSE
DBMS_OUTPUT.PUT_LINE( 'Something Else' );
END IF;
END;
BEGIN
print_boolean( 'DEFAULT: ', value );
value := TRUE;
print_boolean( 'TRUE: ', value );
value := FALSE;
print_boolean( 'FALSE: ', value );
value := NULL;
print_boolean( 'NULL: ', value );
END;
/
выходы:
DEFAULT: Null
TRUE: True
FALSE: False
NULL: Null
дБ <> скрипка здесь