Проверьте, что столбец все NULL в PL / SQL - PullRequest
0 голосов
/ 18 марта 2019

Я хочу написать программу, которая сначала проверяет, заполнен ли столбец только значениями NULL, а затем обновляет столбец.
Я написал то, что, по моему мнению, должно работать, однако DBMS_OUTPUT.PUT_LINE возвращает только имяколонка.

DECLARE
  v_null VARCHAR(255) NULL;

BEGIN
DBMS_OUTPUT.ENABLE;

SELECT MAX('col_name') INTO v_null
FROM user_tab_cols
WHERE UPPER(table_name) = 'table';

DBMS_OUTPUT.PUT_LINE(v_null);  

    if v_null IS NULL THEN
    DBMS_OUTPUT.PUT_LINE('COLUMN is empty');
    end if;
end;  

Также, когда я изменяю свое предложение IF на NOT NULL, тогда возвращается строка 'COLUMN is empty'.
Столбец заполнен только NULL, я проверял несколько раз.Столбец имеет тип NUMBER.Запуск Oracle 12c Enterprise в Windows 10.

1 Ответ

1 голос
/ 18 марта 2019

Нашли ...

DECLARE
  v_null VARCHAR(255) NULL;

BEGIN
DBMS_OUTPUT.ENABLE;

SELECT MAX(col_name) INTO v_null
FROM table;

DBMS_OUTPUT.PUT_LINE(v_null);  

    if v_null IS NULL THEN
    DBMS_OUTPUT.PUT_LINE('COLUMN is empty');
    end if;
end; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...