Oracle PL-SQL:从查询结果中获取列数据类型

Oracle PL-SQL:从查询结果中获取列数据类型,oracle,plsql,Oracle,Plsql,尝试创建一个通用PL/SQL过程,以特定的XML格式导出数据,例如Excel XML。假设该过程接受带有SELECT查询的字符串以立即执行 这需要访问结果行集的每一列的数据类型,因为过程是泛型的,只有在查询运行后才知道 我尝试了一种使用临时表的方法,但是对于编译过程,表必须存在并且在编译时知道其结构 下一步如何在双循环中处理EXECUTE IMMEDIATE结果的行和列,该循环分析每个值的类型并发出相应的XML?使用EXECUTE IMMEDIATE无法做到这一点。您必须使用功能更强大、更复杂的

尝试创建一个通用PL/SQL过程,以特定的XML格式导出数据,例如Excel XML。假设该过程接受带有SELECT查询的字符串以立即执行

这需要访问结果行集的每一列的数据类型,因为过程是泛型的,只有在查询运行后才知道

我尝试了一种使用临时表的方法,但是对于编译过程,表必须存在并且在编译时知道其结构


下一步如何在双循环中处理EXECUTE IMMEDIATE结果的行和列,该循环分析每个值的类型并发出相应的XML?

使用EXECUTE IMMEDIATE无法做到这一点。您必须使用功能更强大、更复杂的-我已将您链接到“描述列”过程,这一过程特别相关。

或查询所有选项卡列以获取列数据类型。

我最初也有同样的想法,但如果输入是完整的查询,例如“从某个表中选择a、b、c”,然后必须从查询中解析出列名。使用DBMS_SQL可能更好,因为您可以让Oracle为您进行解析。