Oracle
 sql >> Base de données >  >> RDS >> Oracle

Appel d'une fonction SQL PL avec un paramètre d'objet en Java

Créez le type dans le bloc PL/SQL anonyme (plutôt qu'en Java) et transmettez les valeurs :

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);

L'alternative est que vous pouvez utiliser JPublisher pour générer l'Address classe afin qu'elle puisse être transmise vers/depuis la base de données.