本地数据库选择
Local DB Select(本地数据库选择)动作可检索本地数据库表中的行。可以使用可选 Where 子句和 Group By 子句。
SELECT 参数可以是默认的星号 ( * ),表示选择所有列;SELECT 参数也可以是任何有效的 SQL select 语句。
选择所有列时,输出变量的逻辑类型将是表定义中的数据类型。
当 Return Result as Array(以数组形式返回结果)参数设置为 True 时,系统会将 Output(输出)选项卡变量视为数组,不使用输出的 Row Index(行索引)变量,并且 SELECT 参数不可用(系统将其作为 SELECT * 处理)。
当使用默认 SELECT * 以外的 select 语句时,Output(输出)变量的逻辑类型将为 ANY。
参数描述
必须在 Select 和 Where 子句中提供有效的 SQL 语句。使用字符串格式说明符可能会导致运行时问题。
参数 | 描述 |
---|---|
SELECT | Select 子句用于确定动作的 Output(输出)。必须选择 FROM 参数(本地数据库表),并且包含要进行验证的数据。
通过选择图标 访问的 select 子句构建器可用于协助构建 select 子句。 |
FROM | 要从中选择行的本地数据库表的名称。表名称将可从下拉列表中获取。 |
WHERE | Where 子句可用于限制选定的行。 常量和替换变量都可以在 Where 子句中使用。 要构造 Where 子句,请使用运算符(=、!=、>、>=、<、<=、like、is null、is not null)将列与常量或替换变量关联。 以上各运算符都可以使用 And(与)或 Or(或)语句与其他运算符进行组合。 要使用替换变量,请插入 $(x),其中 x 为将与 Input(输入)选项卡上的变量关联的变量(参见下方的 Input(输入)选项卡)。 注:对于 TEXT 类型的列,常量或替换变量必须放在双引号内。例如:
通过选择图标 访问的 where 子句构建器可用于协助构建 where 子句。 |
GROUP BY | Group by 子句可用于跨多个行收集数据,并将结果按一个或多个列分组。 通过选择图标 访问的 group by 子句构建器可用于协助构建 group by 子句。 |
Max Rows(最大行数) | 查询应返回的最大行数。查询可以返回的行数应少于指定的 Max Rows(最大行数)。 但是,如果查询返回的行数超过 Max Rows(最大行数)中指定的行数,只有 Max Rows(最大行数)指定的行数会实际写入至输出变量。 其他行将被丢弃。 |
Return Result as Array(以数组形式返回结果) | 此选项可将结果作为数组返回。 True - 将结果作为数组返回,不超过 Max Rows(最大行数)的值。Output(输出)选项卡变量的 Count(计数)参数将等于 Max Rows(最大行数),系统会将输出变量视为数组。不使用 Row Index(行索引)变量。 False - 一次返回一行的结果。Output(输出)选项卡变量 Row Index(行索引)作为索引变量返回。路径由 Routing(路径)选项卡的 Next Row(下一行)参数控制。 |
Select 子句构建器
SELECT 参数可以是默认的星号 ( * ),表示选择所有列。
指定了 SELECT 和 WHERE 参数的本地数据库选择动作示例如下:
select 子句构建器可用于协助构建 select 子句。
当 Return Result as Array(以数组形式返回结果)参数设置为 True 时,SELECT 参数不可用(系统将其作为 SELECT * 处理)。
select 子句构建器允许选择列、聚合函数和别名名称。例如:
select 子句构建器的输出放置于 SELECT 参数中,可以手动修改。
- 全部添加、添加、删除、向上和向下按钮可处理表列名在 select 子句中的放置。
- 可选聚合函数(none、AVG、Count、MAX、MIN、SUM)在 Function(函数)下拉列中选择。
- 别名可以分配给 Alias(别名)列中 select 子句的每个输出,并将用作 Output(输出)选项卡上的变量名。
- where 子句(请参见下一部分)可用于限制选定的行。
select 子句示例:
select 子句构建器中显示的 select 子句示例包括:
- SELECT *
选择所有行,返回所有列的值。 - SELECT C03
选择所有行,返回名为 C03 的列中的值。 - SELECT SUM(C03)
选择所有行,返回名为 C03 的列中各值之和。 - SELECT SUM(C03) AS C03_sum
选择所有行,在名为 C03_sum 的输出变量中返回名为 C03 的列中各值之和。 - SELECT SUM(C03) AS C03_sum, AVG(C03) AS C03_avg, MAX(C03) AS C03_max
与前面的示例类似,在输出变量中返回名为 C03 的列中各值的总和、平均值及最大值:C03_sum、C03_avg、C03_max。
Where 子句构建器
where 子句构建器可用于协助构建 where 子句。例如:
where 子句构建器的输出放置于 WHERE 参数中,可以手动修改。
- where 子句构建器显示 FROM 参数中指定的本地数据库表中的所有列。
- 要构建 where 子句:从 Database Columns(数据库列)列表中选择一个列名,从 Operators(运算符)列表中选择一个运算符,再选择 And(与)或 Or(或)(在向 where 子句添加多个列时使用)。然后选择 Add(添加)按钮。
- 上移、下移和移除按钮可处理列名在 where 子句中的放置。
- 替换变量可用于指示应在输入选项卡中指定变量
where 子句示例:
- WHERE C01 = "$(test)"
将选定的行限制为列名 C01 的值与替换变量 test 的值所相等的行。
替换变量 test 将在输入选项卡中插入为一行,随后可以引用系统中的任何可用变量(设备变量、触发器变量、常量等)。 - WHERE C02 >= 10
将选定的行限制为列名 C02 的值大于或等于 10 的行。 - Where C01 = "$(test)" AND C02 >= 10
将选定的行限制为满足 C01 和 C02 条件的行。 注:对于 TEXT 类型的列,常量或替换变量必须放在双引号内。例如:
- C01 = "JohnDoe"
常量放在双引号内。 - C01 = "$(test)"
替换变量放在双引号内。变量(在此示例中为 test)将添加到 Input(输入)选项卡,然后可以映射至 STRING 变量(或常量)。
- C01 = "JohnDoe"
Group by 子句构建器
group by 子句构建器可用于协助构建 group by 子句。例如:
group by 子句构建器的输出放置于 GROUP BY 参数中,可以手动修改。
Select 和 Where 子句更改
使用 select 和 where 子句构建器后,手动更改 SELECT 和 WHERE 参数可能会导致 SQL 语句无效。如果解析语句时出现问题,系统将尝试验证参数并显示警告。
输入选项卡
可选。仅当指定了 Where 子句且 Where 子句包含替换变量(例如 $(test))时,才会显示 Input(输入)选项卡。
Input(输入)选项卡中的行将与 Where 子句中的替换变量数量相同。
参数 | 描述 |
---|---|
Logical Variables from the Where clause(Where 子句中的逻辑变量) | 必选。要在 Where 子句语句中替换其值的变量。 此变量随后可以引用系统中的任何可用变量(设备变量、触发器变量、常量等)。 |
输出选项卡
Output(输出)选项卡的每个返回变量(例如列名)都将有一行基于 select 子句。
参数 | 描述 |
---|---|
Output Name(输出名称) | 返回的变量。可以是列名、聚合函数的结果或别名。返回变量的值写入 Value(值)单元格中指定的变量。 重要提示:如果返回的值为 null,并且该值映射至数值变量,触发器将失败,因为无法将 null 写入数值字段。 |
Error Message(错误消息) | 可选。用于在 SQL 查询失败时提供信息。 |
Rows Selected(选定的行) | SQL 查询操作返回的行数。 |
Row Index(行索引) | 当 Return Result as Array(以数组形式返回结果)参数设置为 False 时,迭代由选择操作返回的行时的当前行号。 迭代由本地数据库选择动作返回的行时,对于处理的每一行,Row Index(行索引)都会递增 1。 使用 Routing(路径)选项卡中的 Next Row(下一行)路径,可以迭代由本地数据库选择动作返回的每一行。对于处理的每一行,Row Index(行索引)都会递增 1。 有关更多信息,请参见本地数据库选择动作使用示例。 |
下一行路径
当 Return Result as Array(以数组形式返回结果)设置为 False 时,必须循环处理返回的行。行处理循环中的动作通过从 Next Row(下一行)路径选项开始的执行路径来指示。有关更多信息,请参见本地数据库选择动作使用示例。
路径选项卡
基于结果 | 描述 |
---|---|
Success(成功) | 动作已成功完成。 |
Failure(失败) | 动作发生失败。 |
Next Row(下一行) | 当 Return Result as Array(以数组形式返回结果)参数设置为 False 时,获取从 select 语句检索的下一行值。 |