从Java获取存储过程代码

从Java获取存储过程代码,java,sql,oracle,jdbc,Java,Sql,Oracle,Jdbc,我们可以使用JDBC从java获取Oracle SQL中声明的存储过程内容吗 背景:我有一个存储过程,其中有一个insert。当我添加用于将每条记录插入executeBatch()的存储过程时,executeBatch()的性能不如添加单个insert语句时的预期 此外,我不想在代码中做太多更改,也不想尝试其他选项,例如在代码中使用插入,并将记录作为列表传递给数组。因此,在这种情况下,最好的选择是找到一种方法来提取SQL存储过程中的代码。您可以从“所有源代码”视图中获取过程的源代码: SELEC

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

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


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

您可以从“所有源代码”视图中获取过程的源代码:

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

祝您好运。

您可以从“所有源代码”视图中获取过程的源代码:

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

祝您好运。

或从中选择文本。。。仅获取源代码。@MT0:已更改以反映Oracle名称的大写性质。或从中选择文本。。。仅获取源代码。@MT0:已更改以反映Oracle名称的大写性质。“此外,我不想在代码中做太多更改,也不想尝试其他选项,例如在代码中使用插入,并将记录作为列表传递给数组。”为什么不想这样做?在“良好实践”中,您创建了一个DB过程来处理DML过程,称为from web app。通常,您为一条记录创建它,但也(像在您的案例中一样)批量插入案例。如果您使用Oracle DB,并且可以访问它—避免将业务逻辑放在web app中,以DB的方式实现它—更高效、更易于维护。“此外,我不想在代码中做太多更改,也不想尝试其他选项,例如在代码中使用插入,并将记录作为列表传递到阵列。”你为什么不想那样做?在“良好实践”中,您创建了一个DB过程来处理DML过程,称为from web app。通常,您为一条记录创建它,但也(像在您的案例中一样)批量插入案例。如果您使用Oracle DB,并且可以访问它—避免将业务逻辑放在web应用程序中,以DB方式实现它—效率更高,维护更容易。