如何在JDBC中创建或替换Oracle中的过程?

时间:2012-04-24 02:31:08

标签: oracle jdbc procedure

如何在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); 但我无法使其发挥作用。

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

1 个答案:

答案 0 :(得分: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();