Where The Streets Have No Name

Using the Default STRUCT Class for Oracle Objects 본문

Developement/Java

Using the Default STRUCT Class for Oracle Objects

highheat 2006. 10. 24. 09:46

http://dba-services.berkeley.edu/docs/oracle/manual-9iR2/java.920/a96654/oraoot.htm#1039477

Retrieving an Oracle Object as an oracle.sql.STRUCT Object

String cmd;
cmd = "CREATE TYPE type_struct AS object (field1 NUMBER,field2 DATE)";
stmt.execute(cmd);

cmd = "CREATE TABLE struct_table (col1 type_struct)";
stmt.execute(cmd);

cmd = "INSERT INTO struct_table VALUES (type_struct(10,'01-apr-01'))";
stmt.execute(cmd);

cmd = "INSERT INTO struct_table VALUES (type_struct(20,'02-may-02'))";
stmt.execute(cmd);

ResultSet rs= stmt.executeQuery("SELECT * FROM struct_table");
oracle.sql.STRUCT oracleSTRUCT=(oracle.sql.STRUCT)rs.getObject(1);

Retrieving an Oracle Object as a java.sql.Struct Object

ResultSet rs= stmt.executeQuery("SELECT * FROM struct_table");
java.sql.Struct jdbcStruct = (java.sql.Struct)rs.getObject(1);

Retrieving Attributes as oracle.sql Types

oracle.sql.Datum[] attrs = oracleSTRUCT.getOracleAttributes();  

or:

oracle.sql.Datum[] attrs = ((oracle.sql.STRUCT)jdbcStruct).getOracleAttributes();

Retrieving Attributes as Standard Java Types

Object[] attrs = jdbcStruct.getAttributes();