sql >> Base de Datos >  >> RDS >> Oracle

Llamar a una función PL SQL con parámetro de objeto en Java

Cree el tipo en el bloque PL/SQL anónimo (en lugar de en Java) y pase los valores:

CallableStatement st = con.prepareCall("BEGIN ? := ADD_ADDRESS_FUNC( Address_Type(?,?,?,?)); END;");

st.registerOutParameter( 1, Types.INTEGER );
st.setString( 2, "Address 1" );
st.setString( 3, "Address 2" );
st.setString( 4, "Town" );
st.setString( 5, "County" );

st.execute();
int id = st.getInt(1);

La alternativa es que puede usar JPublisher para generar la Address clase para que pueda pasarse a/desde la base de datos.