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