PLSQL过程中的IF EXISTS语句

时间:2019-01-14 11:13:59

标签: oracle plsql user-defined-types

我是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 :(得分:3)

  

我需要知道它是否为空

然后进行测试:

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

Read more

答案 1 :(得分:3)

您想知道s2.updated是否已填充:

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

我宁愿使用不可为null的布尔变量,但这将是true或false。然后你会问

IF s2.updated THEN
  do something
END IF;

我认为它更具可读性。

然后,结构声明如下

TYPE signal_struct IS RECORD 
( 
  updated BOOLEAN NOT NULL,
  ...
);