【发布时间】:2014-09-18 05:49:09
【问题描述】:
我需要知道任何给定查询的列列表,我们该怎么做?查询可以是...
select * from some_tab1 (should return all the column names in some_tab1)
select col1, col2, col3 from some_tab2 (should return col1, col2, col3)
select col1 as 1, col2 as 2 from some_tab3 (should return 1, 2)
我知道如何获取给定表的列列表,但有没有办法获取给定查询的列列表,无论是否有数据?
感谢您的帮助!
【问题讨论】:
-
可以,但是要根据环境而定。在什么环境下需要知道查询列(PL/SQL、Java程序、C#程序等)?
-
我不确定我是否理解您在做什么。您将查询作为字符串,并且想要解析它以获取结果集的列列表?你看过
dbms_sql吗? -
澄清一下,您不是在尝试查找由某种应用程序(如 peoplesoft 查询)中保存的查询访问的列,对吧?
-
您可以在 PL/SQL 中使用
dbms_sql.describe_columns来获取此信息。否则,您的编程语言将具有相应的功能(例如 JDBC 的ResultSetMetaData)