Tôi có một thủ tục lưu trữ mà trông giống như:Tiếp cận% ROWTYPE của Stored Procedure từ Java
PROCEDURE get_curx( p_buf IN ni_imsi%ROWTYPE,
p_bufx IN ni_imsi%ROWTYPE,
p_cur OUT CurTyp,
p_where IN VARCHAR2 DEFAULT '',
p_orderby IN VARCHAR2 DEFAULT '',
p_max IN NUMBER DEFAULT 0,
p_lock IN NUMBER DEFAULT 0,
p_hint IN VARCHAR2 DEFAULT 'NONE',
p_debug IN NUMBER DEFAULT 0,
p_count IN BOOLEAN DEFAULT FALSE);
tôi kêu gọi thủ tục này từ một chương trình JAVA như này:
CallableStatement cs = connection.prepareCall("{call ni_imsi_pkg.get_curx(?,?,?,?,?,?)}");
cs.setObject(1, ?); // i have no clue what to mention here
cs.setObject(2, ?); //i have no clue what to mention here
cs.registerOutParameter(3, OracleTypes.CURSOR);
cs.setString(4, " WHERE current_state = 60000 AND rownum <= 2 ");
cs.setString(5, " ORDER BY imsi_number");
cs.setInt(6, 5);
Nhưng tôi không có ý tưởng làm thế nào để thiết lập hai thông số đầu tiên.Xin vui lòng giúp tôi.Thanks
Bạn muốn đặt gì vào các biến đó, hoặc đúng hơn là chúng đến từ đâu và loại đối tượng nào ở phía Java? –
Tôi nghi ngờ bạn có thể gọi nó từ JDBC. RowType là PL/SQL cụ thể. Nó có thể được định nghĩa trong gói ở đâu đó. Có lẽ bạn sẽ cần phải tạo/gọi một thủ tục trợ giúp trong PL/SQL gọi là lớp này cho bạn với các tham số thích hợp. – Mike