Oracle PLSQL过程中的IF EXISTS语句
我是plsql的新手,尝试实现我的过程 我的程序签名看起来像Oracle PLSQL过程中的IF EXISTS语句,oracle,plsql,user-defined-types,Oracle,Plsql,User Defined Types,我是plsql的新手,尝试实现我的过程 我的程序签名看起来像 PROCEDURE signal_merge(s1 IN SIGNAL_STRUCT, s2 IN SIGNAL_STRUCT, rs OUT SIGNAL_STRUCT) SIGNAL_STRUCT有一个(我称之为field?)的“updated”,它属于updated_STRUCT类型 现在我想做一些类似的事情 if s2.updated exists do something 即使使用谷歌,我也找不到解决方案,有人能解
PROCEDURE signal_merge(s1 IN SIGNAL_STRUCT, s2 IN SIGNAL_STRUCT, rs OUT SIGNAL_STRUCT)
SIGNAL_STRUCT有一个(我称之为field?)的“updated”,它属于updated_STRUCT类型
现在我想做一些类似的事情
if s2.updated exists
do something
即使使用谷歌,我也找不到解决方案,有人能解释一下我是如何做到这一点的吗
谢谢大家
我需要知道它是否为空
然后测试:
if s2.updated is not null then
-- do something
end if;
我需要知道它是否为空
然后测试:
if s2.updated is not null then
-- do something
end if;
.您想知道s2.updated是否已填写:
IF s2.updated IS NOT NULL THEN
do something
END IF;
我宁愿使用一个不可为空的布尔变量,然而,它要么是真的,要么是假的。那么你会问
IF s2.updated THEN
do something
END IF;
<>我认为更可读。< /P>
结构声明将如下所示
TYPE signal_struct IS RECORD
(
updated BOOLEAN NOT NULL,
...
);
您想知道s2.updated是否已填充:
IF s2.updated IS NOT NULL THEN
do something
END IF;
我宁愿使用一个不可为空的布尔变量,然而,它要么是真的,要么是假的。那么你会问
IF s2.updated THEN
do something
END IF;
<>我认为更可读。< /P>
结构声明将如下所示
TYPE signal_struct IS RECORD
(
updated BOOLEAN NOT NULL,
...
);
你所说的“存在”是什么意思?传入的结构将始终具有该字段;那么你是想了解它的内容吗?也许只是它是否为空?或者你想查看嵌套对象类型中的一个字段?确切地说,我需要知道它是否为null,你所说的“exists”是什么意思?传入的结构将始终具有该字段;那么你是想了解它的内容吗?也许只是它是否为空?或者您正在尝试查看嵌套对象类型中的字段?确切地说,我需要知道它是否为null