Inserting an OBJECT Value into an Oracle Table Using a Prepared Statement

This example inserts Oracle OBJECTs into an Oracle table using a prepared statement. The example uses the OBJECT types and table created in Creating an OBJECT Type in an Oracle Database.
try { // Create an oracle.sql.STRUCT object to hold the values for object2 Object[] object2Values = new Object[]{"str", new BigDecimal(123)}; oracle.sql.StructDescriptor structDesc = oracle.sql.StructDescriptor.createDescriptor("OBJECT2", connection); oracle.sql.STRUCT object2 = new oracle.sql.STRUCT(structDesc, connection, object2Values); // Create an oracle.sql.STRUCT object to hold the values for object1 Object[] object1Values = new Object[]{"str", object2}; structDesc = oracle.sql.StructDescriptor.createDescriptor("OBJECT1", connection); oracle.sql.STRUCT object1 = new oracle.sql.STRUCT(structDesc, connection, object1Values); // Create a prepared statement for insertion into object1_table PreparedStatement ps = connection.prepareStatement("INSERT INTO object1_table VALUES(?,?)"); // Set the values to insert ps.setInt(1, 123); ps.setObject(2, object1); // Insert the new row ps.execute(); } catch (SQLException e) { }

Post a comment

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image. Ignore spaces and be careful about upper and lower case.