0

我正在尝试构建一个查询以从system.CATALOG表中获取列并根据结果集继续查询。我查看了一些查询,但似乎无法找到满足我要求的任何内容。我没有太多要展示的东西,我已经尝试过,因为我不知道如何解决这个问题。

我正在使用 Apache Phoenix DB。(任何SQL都可以,因为我有兴趣学习。)

我现在已经编写了下面的查询,它将获取我所有的列名,在table element的 schema test中以A开头。

SELECT
  COLUMN_NAME
FROM SYSTEM.CATALOG
WHERE TABLE_SCHEM = 'TEST'
  AND TABLE_NAME = 'ELEMENT'
  AND COLUMN_NAME LIKE 'A%'";

现在我想使用UPSERT上述查询结果集中的列名列表来更新元素表记录中的这些列。所以我被困在这里。

4

2 回答 2

0

试试这个,效果很好。

SELECT column_name
  FROM system.catalog
  WHERE table_name = 'your_table' AND key_seq IS NOT NULL
于 2020-05-11T10:19:08.070 回答
0

示例:获取桌子上的盐桶:

select table_name, salt_buckets 
from SYSTEM.CATALOG 
where salt_buckets is not null and table_name='TABLE_NAME';
于 2020-06-18T00:43:41.723 回答