从表A(变量)问题中选择*

问题描述 投票:0回答:1

最近我正在阅读一些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是一个变量。

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

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

括号和变量在这个查询中做了什么?

db2
1个回答
0
投票

这看起来像一个表函数使用,但省略了TABLE关键字。 它应该如下所示:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.