Java cung cấp CallableStatements
cho những mục đích như vậy.
CallableStatement cstmt = conn.prepareCall("{? = CALL total_cancellations()}");
cstmt.registerOutParameter(1, Types.INTEGER);
cstmt.setInt(2, acctNo);
cstmt.executeUpdate();
int cancel= cstmt.getInt(1);
System.out.print("Cancellation is "+cancel);
sẽ in giống như bạn làm trong pl / sql. Theo tài liệu Connection#prepareCall()
,
Tạo một đối tượng CallableStatement để gọi các thủ tục được lưu trữ trong cơ sở dữ liệu. Đối tượng CallableStatement cung cấp các phương thức để thiết lập các tham số IN và OUT của nó cũng như các phương thức để thực hiện lệnh gọi tới một thủ tục được lưu trữ.
Bạn cũng có thể chuyển các tham số cho hàm. cho người yêu cũ,
conn.prepareCall("{? = CALL total_cancellations(?)}");
cstmt.setInt(2, value);
sẽ chuyển các giá trị cho hàm dưới dạng tham số đầu vào.
Hy vọng điều này sẽ hữu ích!