查询从system.catalog表中获取列并执行选择查询

时间:2015-08-05 13:32:35

标签: sql phoenix

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

我正在使用Apache Phoenix DB。 (任何SQL也没关系,因为我有兴趣学习。)

我现在已经编写了下面的查询,它将获取所有列名称,以测试中的 A 开头,用于表元素

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

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

2 个答案:

答案 0 :(得分:0)

尝试一下,效果很好。

SELECT column_name
  FROM system.catalog
  WHERE table_name = 'your_table' AND key_seq IS NOT NULL

答案 1 :(得分:0)

示例:要在桌子上放盐桶:

select table_name, salt_buckets 
from SYSTEM.CATALOG 
where salt_buckets is not null and table_name='TABLE_NAME';