可以通过 INSERT 语句使用时间系列输入函数创建时间系列。
insert into table_name values( 'col1_value', 'col2_value', ..., 'parameter_input_string' );
paramname(value), paramname(value), ..., [data_element, ...]
参数名称 | 必需 | 值 |
---|---|---|
calendar | 是 | 要使用的日历的名称。没有缺省名称。 |
container | 否 | 要使用的容器的名称。缺省情况下无容器;时间系列必须适合数据库行,否则永远也不会将其指定给表。如果时间系列超出阈值大小,那么必须设置容器。 |
datafile | 否 | 要使用的输入文件的名称。格式与 BulkLoad 函数相同。如果存在数据文件,那么不允许使用“带括号的”数据。缺省值为 NULL。 |
irregular | 是(对于不规则的时间系列) | 没有值,只有字符串 irregular。对于不规则的时间系列必须包括此参数,但对于规则的时间系列不能包括此参数。 |
metadata | 否 | 要添加到时间系列的元数据。可为 NULL。如果提供了元数据,那么也必须提供元数据的类型。 |
metatype | 否 | 元数据的数据类型。 |
origin | 否 | 时间系列的原点的时间戳记。缺省原点为日历开始日期。 |
regular | 否 | 没有值,只有字符串 regular。对于规则的时间系列此参数是可选的,但对于不规则的时间系列不能包括此参数。 |
threshold | 否 | 超过该元素数的数据将放入容器而不放入行。缺省值为 20。行中的时间系列不得大于 1500 个字节。 |
如果参数未包含在输入字符串中,那么将使用其缺省值。
[(value, value, value, ...)@timestamp, (...), ...]
元素由数据值组成,每个数据值以逗号分隔。每个元素中的数据值对应于 TimeSeries 子类型中的列,但不包括初始时间戳记列。每个元素都括在括号中,后跟 @ 符号和时间戳记。时间戳记对于规则的时间系列来说是可选的,但对于不规则的时间系列来说是强制实施的。空数据值或元素使用单词 NULL 表示。如果不存在数据元素,那么函数将创建空时间系列。
insert into daily_stocks values (1234, 'GBase 8s', 'regular, calendar(daycal), [(350, 310, 340, 1999), (362, 320, 350, 2500)]');
此 INSERT 语句将创建一个规则的时间系列,其开始日期和时间由名为 daycal 的日历指定。时间系列中的前两个元素使用带括号的数据填充。由于没有指定阈值参数,因此将使用它的缺省值。这样,如果超过 20 个元素放置在时间系列中,数据库服务器会尝试将数据移动到容器中,但因为没有指定任何容器,所以会出现错误。
insert into activity_stocks values ( 600, 'irregular, container(ctnr_stock), origin(2005-10-06 00:00:00.00000), calendar(daycal), [(6.25,1000,1,7,2,1)@2005-10-06 12:58:09.12345, (6.50, 2000, 1,8,3,1)@2005-10-06 12:58:09.23456]');
该 INSERT 语句将创建一个不规则的时间系列,其开始日期为 2005 年 10 月 6 日,开始时间由名为 daycal 的日历指定。将插入两行带有指定时间戳记的数据。