значение переменной по умолчанию на момент объявления в PL SQL - PullRequest
6 голосов
/ 29 августа 2009

Какое значение по умолчанию для переменной VARCHAR2 на момент объявления в PL / SQL? Могу ли я проверить его по NULL один раз после объявления переменной?

Ответы [ 4 ]

20 голосов
/ 29 августа 2009

Переменные по умолчанию инициализируются значением NULL.

Вы можете изменить это, например:

create procedure show1
as
  l_start varchar2(10) := 'Hello';
begin
  if l_start is not null then 
    ....
  end if;
end;
/

Вы также можете объявить переменные как необнуляемые:

create procedure show2
as
  l_start varchar2(10) not null := 'Hello';
begin
  null;
end;
/
2 голосов
/ 29 августа 2009

Значения по умолчанию - NULL, вы можете использовать IS NULL или IS NULL.

0 голосов
/ 31 августа 2009

И еще одно небольшое дополнение: если вы имеете дело с BLOB (или CLOBS), значение «empty» не равно нулю. Обратитесь к руководству по крупным объектам Oracle, если вам нужно.

0 голосов
/ 30 августа 2009

Tuinstoel правильный.

Одно добавление: не обманывайте себя, пытаясь "ls_my_variable = NULL", так как сравнение с NULL всегда возвращает FALSE. Всегда используйте "ls_my_variable IS NULL" или "IS NOT NULL".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...