PutSet 函数

PutSet 函数使用提供的行类型值多个集更新时间系列。

语法

PutSet(ts         TimeSeries, 
      multiset_ts set,
      flags       integer default 0) 
returns TimeSeries;
ts
要对其执行操作的时间系列。
multiset_ts
要存储在时间系列中的新行类型值的多集。
flags
flags 参数值中描述了 flags 参数的有效值。缺省值为 0

描述

对于多个行集中的每个元素,如果时间戳记是 NULL,数据会追加到时间系列(对于常规时间系列),或者发生错误(对于非常规时间系列)。

对于规则时间系列,如果指定时间点存在数据,那么会将其更新为新数据;否则,会插入新数据。

对于不规则时间系列,如果指定时间点不存在任何数据,那么会插入新数据。如果指定时间点存在数据,那么将使用以下算法确定放置数据的位置:
  1. 将时间戳记舍入为下一秒。
  2. 向后搜索早于新时间戳记的第一个元素。
  3. 在此时间戳记加 10 微秒处插入新数据。

传入的行类型必须符合时间系列的子类型。

无法更新隐藏的元素。

返回结果

包含新值的修改的时间系列。

示例

以下示例会使用多个集更新时间系列:
update activity_stocks
set activity_data = (select PutSet(activity_data, set_data)
            from activity_load_tab where stock_id = 600)
where stock_id = 600;