簡體   English   中英

使用Java代碼執行PL / SQL過程

[英]Execute a PL/SQL procedure using Java code

我想使用Java代碼執行PL / SQL過程。 到目前為止,我已經嘗試過了:

Statement myStmt = null;

myStmt = conn.createStatement();
myStmt.executeQuery("EXECUTE ProjetIRSTEA.detectionX");

我收到以下錯誤消息:

java.sql.SQLSyntaxErrorException: ORA-00900: invalid SQL statement

您必須使用CallableStatement類來執行存儲過程。

請檢查由Oracle發布的此示例,以了解如何使用此類: https : //docs.oracle.com/cd/A84870_01/doc/java.816/a81354/samapp2.htm

嘗試:

myStmt.executeUpdate("BEGIN ProjetIRSTEA.detectionX; END");

您還可以通過CallableStatement接口使用一種方法來調用JDBC標准定義的存儲過程:

CallableStatement myCall = connection.prepareCall("{call ProjetIRSTEA.detectionX()}")
myCall.executeUpdate();

在Oracle上,您可以使用CallableStatement(如上所述),也可以使用Statement或PreparedStatement發出普通的sql查詢(盡管首選前一種方法)。

String sql = " select ProjetIRSTEA.detectionX() from dual";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.execute();

請注意,必須在select語句中引用系統表dual。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM