繁体   English   中英

如何从所有表中选择列的所有可能值?

[英]How to select all possible values of columns from all tables?

SELECT POM.TABLE_NAME, POM.COLUMN_NAME
FROM ALL_TAB_COLUMNS POM
WHERE  POM.COLUMN_NAME LIKE'%STATUS%'

我想查看列表中各列中的所有可能值(如果可能,请一行显示)。 我该如何修改此选择呢?

我想要这样的东西

 TABLE_NAME | COLUMN_NAME |VALUES
 -----------| ----------- | -------
 CAR        | COLOR       | RED,GREEN 

您可以根据需要使用以下查询。 它为表获取了不同的列值。 正如我使用LISTAGG函数一样,它只能用于具有有限数量的不同值的表。

SELECT POM.TABLE_NAME, POM.COLUMN_NAME,
       XMLTYPE(DBMS_XMLGEN.GETXML('SELECT LISTAGG(COLUMN_NAME,'','') WITHIN GROUP (ORDER BY COLUMN_NAME) VAL 
                                   FROM (SELECT DISTINCT '|| POM.COLUMN_NAME ||' COLUMN_NAME
                                         FROM '||POM.OWNER||'.'||POM.TABLE_NAME||')')
              ).EXTRACT('/ROWSET/ROW/VAL/text()').GETSTRINGVAL() VAL
FROM   ALL_TAB_COLUMNS POM
WHERE  POM.COLUMN_NAME LIKE'%STATUS%';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM