TSL_PutSQL 函数

TSL_PutSQL 函数从表中装入时间系列数据。

语法

TSL_PutSQL(
           handle      lvarchar,
           statement   lvarchar)
returns integer
handle
TSL_AttachTSL_Init 函数返回的表名和列名组合。
statement
用于从现有数据库表中选择数据的 SQL 语句。 此语句的投影子句必须包含主键和时间系列数据。时间系列数据可以为多列或 ROW 数据类型,并且必须与句柄中 TimeSeries 列的数据类型兼容。投影子句可以为以下某种格式:

primary_key, timestamp, value

primary_key, row(timestamp, value)

primary_key
主键列,以字符格式表示。可以包含并置的多个列名,列名之间以管道符号分隔。 如果需要,请强制转型为 LVARCHAR 数据类型。例如,如果源表中的主键包含两列,名为 id1id2,那么投影子句中的主键列为 id1 || ’|’ || id2
timestamp
时间戳记的格式由 TSL_Init 函数的 timestamp_format 参数指定。时间戳记的缺省格式为:YYYY-mm-dd HH:MM:SS(年-月-日 小时:分钟:秒)。
value

一个或多个列名,以逗号分隔。

用法

作为装入器程序的一部分,使用 TSL_PutSQL 函数从其他表中装入时间系列数据。必须在由 TSL_Init 函数初始化的装入器会话的上下文中运行 TSL_PutSQL 函数。

可以在同一会话中多次运行 TSL_PutSQL 函数。在运行 TSL_Flush 函数将数据写入磁盘之前,该数据将一直存储在数据库服务器中。

返回结果

示例

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

示例 1:装入主键和多个列

以下示例从表 dataload 的主键列、时间戳记列和包含其他值的某列中选择数据:

EXECUTE FUNCTION TSL_PutSQL('meter|readings', 
	'SELECT id::lvarchar, tstamp, value FROM dataload');

示例 2:装入主键和 ROW 数据类型

以下示例从表 dataload 的主键列以及由时间戳记字段和值字段构成的 ROW 数据类型中选择数据:

EXECUTE FUNCTION TSL_PutSQL('meter|readings', 
	'SELECT id::lvarchar, row(tstamp, value) FROM dataload');