0

如何在 JDBC 中创建或替换过程?我在 oracle 中创建了该过程,但无法从 Java 中替换该过程。

我有以下内容,但它不起作用:

Statement stmt0 = conn.createStatement();
String query0 =
"CREATE OR REPLACE PROCEDURE my_proc " +
//blah blah blah
//blah blah blah
//blah blah blah
"END; " +
". " +
"run; ";
stmt0.execute(query0); 

从在线教程中,我看到我应该使用类似的东西: cstmt = conn.prepareCall (SQL); 但我无法让它发挥作用。

如果您想查看更多我的代码,我会提供。

4

1 回答 1

0

首先,你可以做到这一点。

首先,您想从 jdbc 准备和执行。

其次,您需要用“.”和“run;”切断最后一行,它们看起来像是直接来自 SQL*Plus。

请注意,您没有在 Java 字符串中添加任何换行符,但这无关紧要。您似乎添加了必要的尾随空格。

我建议在执行之前记录或 system.out.println 字符串。

现在没有 DBMS,但应该是这样的

String sqlproc = 
    "CREATE OR REPLACE PROCEDURE FRED IS \n" +
    "BEGIN NULL; END FRED;";

System.out.println ("proc code: " + sqlproc);
Statement stmt = conn.prepareStatement (sqlproc);
stmt.execute();
于 2012-04-24T02:58:14.450 回答