首页 > 解决方案 > 从 Java 中获取存储过程代码

问题描述

我们可以使用 JDBC 从 java 中获取 Oracle SQL 中声明的存储过程内容吗?

背景:我有一个存储过程,其中包含一个insert。当我添加用于将每条记录插入到 中的存储过程时executeBatch(),其性能executeBatch()不如insert添加单个语句时的预期。

此外,我不想在代码中进行太多更改,也不想尝试其他选项,例如inserts在代码内部使用并将记录作为列表传递给数组。所以在这种情况下,最可取的选择是找到一种方法来提取 SQL 存储过程中的代码。

标签: javasqloraclejdbc

解决方案


您可以从 ALL_SOURCE 视图获取过程的源代码:

SELECT *
  FROM ALL_SOURCE s
  WHERE s.OWNER = 'WHATEVER' AND
        s.NAME = 'WHATEVER'
  ORDER BY s.LINE;

祝你好运。


推荐阅读