Bởi vì các tham số được chỉ định trong mệnh đề trả về được xử lý theo một cách khác so với các tham số đầu ra bình thường (getReturnResultSet so với getResultSet so với tham số trả về trong một callablestatement).
Chúng cần được xử lý bằng OraclePreparedStatement. Trong trường hợp thứ hai khi bạn bọc câu lệnh insert trong begin..end thì phần chèn được chính cơ sở dữ liệu xử lý và al jdbc thấy là một khối plsql ẩn danh.
http://docs.oracle.com/cd/E11882_01 /java.112/e16548/oraint.htm#BABJJDDA