从表A(变量)中选择*

时间:2019-03-29 07:13:52

标签: db2

最近,我正在阅读一些DB2代码。但是我不知道“来源”部分中这些括号的作用是什么。

 SELECT
   A INTO      TypeCd
   FROM        TX
   WHERE        TOKEN_ID IN (SELECT ELEMENTS
   FROM  (AB_OWN.ELEMENTS (pv_token_id)) AS T) LIMIT 1;

在上面的代码中,pv_token_id是一个变量。

我的意思是我知道选择查询的形成像: 从表A中选择*

但是我不知道这种形式意味着什么: 从表A(变量)中选择*

此查询中的括号和变量做什么?

1 个答案:

答案 0 :(得分:0)

这看起来像是表函数的用法,但省略了 TABLE 关键字。
如下所示:

SELECT ELEMENTS
FROM  TABLE (AB_OWN.ELEMENTS (pv_token_id)) AS T

请查看table-reference table-function-reference 描述,您可以在from-clausesubselect中使用它。
pv_token_id 这是作为参数传递给函数的变量。
将在 SELECT 中使用的表函数视为普通表的使用。这是获取结果集以进行进一步处理的便捷方法(与其他表/表函数结合,过滤等)。