最近我正在阅读一些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中选择*(变量)
括号和变量在这个查询中做了什么?
这看起来像一个表函数使用,但省略了TABLE关键字。 它应该如下所示:
SELECT ELEMENTS
FROM TABLE (AB_OWN.ELEMENTS (pv_token_id)) AS T
查看table-reference的表函数参考描述,您可以在from-clause的subselect中使用它。 pv_token_id这里是作为参数传递给函数的变量。 考虑在SELECT中使用的表函数作为普通表的使用。这是获取结果集以进行进一步处理的便捷方式(与其他表/表函数连接,过滤等)。