TSL_Put 函数

TSL_Put 函数装入时间系列数据。

语法

TSL_Put(
           handle      lvarchar,
           elementlist lvarchar)
returns integer

TSL_Put(
           handle      lvarchar,
           elementlist CLOB)
returns integer
handle
TSL_AttachTSL_Init 函数返回的表名和列名组合。
elementlist
包含要装入的时间系列数据的缓冲区。缓冲区的最大大小为 32 KB。可以是 CLOB 数据类型的文件。
元素列表必须具有以下格式:
primary_key|timestamp|value|
primary_key
构成主键的一列或多列值,以管道字符分隔。如果此字段为空,将使用上一行中的值。
timestamp
时间戳记的格式由 TSL_Init 函数的 timestamp_format 参数指定。时间戳记的缺省格式为:YYYY-mm-dd HH:MM:SS(年-月-日 小时:分钟:秒)。
value

一列或多列值,以管道字符分隔并以管道字符终止。

每个元素必须位于单独的一行中。每行必须以换行符 (\n) 结尾。如果需要,请通过设置 ALLOW_NEWLINE 配置参数或运行 IFX_ALLOW_NEWLINE() 过程,在以引号括起的字符串中启用换行符。

用法

作为装入器程序的一部分,使用 TSL_Put 函数装入时间系列数据。必须在由 TSL_Init 函数初始化的装入器会话的上下文中运行 TSL_Put 函数。可以在同一会话中多次运行 TSL_Put 函数。在运行 TSL_Flush 函数将数据写入磁盘之前,该数据将一直存储在数据库服务器中。

返回结果

示例

以下示例在已初始化的装入器会话的上下文中运行。

示例:装入元素

以下语句将一个元素装入到具有主键列 pkcol 的表 tsdata 中:

EXECUTE FUNCTION TSL_Put('tsdata|pkcol','MX230001|2011-01-01|00:00:00|23.4|56.7|');

示例 2 :装入文件

以下语句从转换为 CLOB 数据类型的名为 tsdata.unl 的文件装入数据:

EXECUTE FUNCTION TSL_Put('tsdata|pkcol',FileToClob('/data/tsdata.unl','server'));

示例 3:元素列表格式

以下元素列表包含每个主键和日期字段的值,即使值与上一个元素相同也会列出:

MX230001|2011-01-01|00:00:00|23.4|56.7|
MX230001|2011-01-01|01:00:00|34.7|57.8|
MX230001|2011-01-01|02:00:00|12.8|58.3|
MX230001|2011-01-01|03:00:00|18.4|59.1|
MX672382|2011-01-01|00:00:00|3.2|0.0|
MX672382|2011-01-01|01:00:00|4.7|0.0|
MX672382|2011-01-01|02:00:00|5.8|0.0|
MX672382|2011-01-01|03:00:00|1.3|0.0|

以下元素列表等同于上一个列表,但在输入缓冲区中需要的空间更少,原因是省略了重复的主键和日期值:

MX230001|2011-01-01|00:00:00|23.4|56.7|
||01:00:00|34.7|57.8|
||02:00:00|12.8|58.8|
||03:00:00|18.4|59.1|
MX672382|2011-01-01|00:00:00|3.2|0.0|
||01:00:00|4.7|0.0|
||02:00:00|5.8|0.0|
||03:00:00|1.3|0.0|

以下元素列表具有包含多列的主键。主键中重复的值将省略:

MX23001|AQ74D|2011-01-01|00:00:00|23.11|98.43|
||AQ74E|||22.71|97.65|
||||00:01:00|22.69|94.56|
MX23002|AV90A|2011-01-01|00:00:00|23.12|91.43|