ЕСЛИ СУЩЕСТВУЕТ оператор в процедуре PLSQL - PullRequest
0 голосов
/ 14 января 2019

Я очень новичок в plsql и пытаюсь реализовать мою процедуру.

Моя подпись процедуры выглядит как

PROCEDURE signal_merge(s1 IN SIGNAL_STRUCT, s2 IN SIGNAL_STRUCT, rs OUT SIGNAL_STRUCT)

SIGNAL_STRUCT имеет (я называю это полем?) "Обновленный" тип UPDATED_STRUCT

Теперь я хочу сделать что-то вроде

if s2.updated exists
   do something

Даже с Google я не могу найти решение, может кто-нибудь объяснить мне, как я могу этого достичь?

Спасибо всем

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Вы хотите знать, заполнен ли s2.updated:

IF s2.updated IS NOT NULL THEN
  do something
END IF;

Я бы предпочел использовать ненулевую логическую переменную, однако это будет либо true, либо false. Тогда вы спросите

IF s2.updated THEN
  do something
END IF;

, который я считаю более читабельным.

Объявление структуры будет выглядеть как

TYPE signal_struct IS RECORD 
( 
  updated BOOLEAN NOT NULL,
  ...
);
0 голосов
/ 14 января 2019

Мне нужно знать его ноль или нет

Затем проверьте это:

if s2.updated is not null then
  -- do something
end if;

Подробнее .

...