我想做的是:实现2个信号到结果信号的自定义合并过程。
以rs = s2开头。将SIGNAL2中不存在的所有自定义字段从SIGNAL1复制到RESULTSIGNAL(即,不存在具有相同ID的自定义字段)。
"custom_fields"
中的 SIGNAL_STRUCT
是一种custom_fields_table
我的过程标识看起来像这样
PROCEDURE signal_merge(s1 IN SIGNAL_STRUCT, s2 IN SIGNAL_STRUCT, rs OUT SIGNAL_STRUCT)
我实现此目标的伪代码是:
for custom_field : s1.custom_fields
if(custom_field.cf_id NOT CONTAINS IN s2.custom_fields)
rs.custom_fields ADD s1.custom_field
我找不到适合它的语法。有人可以告诉我如何实现吗?
更新:根据评论的要求
create or replace TYPE SIGNAL_STRUCT AS OBJECT
id NUMBER (38),
emission_type NUMBER(19),
custom_fields custom_fields_table
create or replace TYPE custom_fields_struct FORCE
AS
OBJECT
(
field_id VARCHAR2 (128 CHAR),
field_value NUMBER (1)) FINAL ;
create or replace TYPE custom_fields_table FORCE
IS
TABLE OF wf_bool_custom_fields_struct ;
更新:示例 S1具有自定义字段
S2具有自定义字段
第一步:rs = s2 第二步:运行合并
结果:合并后,结果信号(rs)的自定义字段表必须具有