为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】:8.1 【操作系统】: 【CPU】: 【问题描述】*:从oracle迁移过来,怎么解决java程序中使用的复合类型,在java中的调用和以前使用oralce的包完全不一样,使用dm应该怎么调用数据库中的复合类型,像类似STRUCT的使用
可以通过 CREATE TYPE 语句来创建,例如: 1、创建对象类型 CREATE OR REPLACE TYPE TYPE01 AS OBJECT( NAME VARCHAR2(10), SEX INTEGER ) NOT FINAL; CREATE TABLE T1 (C1 INT, C2 TYPE01); INSERT INTO T1 VALUES(1, TYPE01('WSY', 1)); COMMIT; SELECT * FROM T1; 2、JDBC处理对象类型 // 注册输出参数为 java.sql.Types.STRUCT stmt.registerOutParameter(1, Types.STRUCT, "TYPE01"); //执行存储过程或查询 stmt.execute(); //获取结果并转换为Struct对象 Struct struct = (Struct) stmt.getObject(1);
可以通过 CREATE TYPE 语句来创建,例如:
1、创建对象类型
CREATE OR REPLACE TYPE TYPE01 AS OBJECT(
NAME VARCHAR2(10),
SEX INTEGER
) NOT FINAL;
CREATE TABLE T1 (C1 INT, C2 TYPE01);
INSERT INTO T1 VALUES(1, TYPE01('WSY', 1));
COMMIT;
SELECT * FROM T1;
2、JDBC处理对象类型
// 注册输出参数为 java.sql.Types.STRUCT
stmt.registerOutParameter(1, Types.STRUCT, "TYPE01");
//执行存储过程或查询
stmt.execute();
//获取结果并转换为Struct对象
Struct struct = (Struct) stmt.getObject(1);