为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】: 【操作系统】: 【CPU】: 【问题描述】*: 请问可以举例说明TEST.SCHOOL.CLASS.STUDENT吗
简单写了个例子,但不知道与官方文档的意图是否完全一致,你有兴趣的话测试下看看吧
--创建TEST模式 CREATE SCHEMA TEST; --创建 TR_STUDENT 类型对象 CREATE TYPE TEST.TR_STUDENT IS OBJECT ( STU_ID INT, STU_NAME VARCHAR2(10) ); --一个班有多个学生,所以创建为TABLE类型对象 CREATE TYPE TEST.TT_STUDENT IS TABLE OF TEST.TR_STUDENT; --创建 TR_CLASS 类型对象 CREATE TYPE TEST.TP_CLASS IS OBJECT ( TEACHER VARCHAR(10), --主任教师 STUDENT TEST.TT_STUDENT --学生 ); --创建学校班级信息表 CREATE TABLE TEST.SCHOOL ( CLASS_ID INT, --班级ID CLASS TEST.TP_CLASS --班级信息 ); --插入记录 INSERT INTO TEST.SCHOOL VALUES( 1 --class_id ,TEST.TP_CLASS('杨老师' --班级信息对象,主人教师名 ,TEST.TT_STUDENT(TEST.TR_STUDENT(1,'张三') --学生列表,第一个学生信息 ,TEST.TR_STUDENT(2,'李四') --第二个学生信息 ) ) ); COMMIT; --SQL查询测试 SELECT CLASS_ID ,TEST.SCHOOL.CLASS.TEACHER AS 主任教师 ,TEST.SCHOOL.CLASS.STUDENT.COUNT AS 学生数 ,TEST.SCHOOL.CLASS.STUDENT(1).STU_NAME AS 学生姓名1 ,TEST.SCHOOL.CLASS.STUDENT(2).STU_NAME AS 学生姓名2 FROM TEST.SCHOOL;
最后查询输出结果:
简单写了个例子,但不知道与官方文档的意图是否完全一致,你有兴趣的话测试下看看吧
--创建TEST模式 CREATE SCHEMA TEST; --创建 TR_STUDENT 类型对象 CREATE TYPE TEST.TR_STUDENT IS OBJECT ( STU_ID INT, STU_NAME VARCHAR2(10) ); --一个班有多个学生,所以创建为TABLE类型对象 CREATE TYPE TEST.TT_STUDENT IS TABLE OF TEST.TR_STUDENT; --创建 TR_CLASS 类型对象 CREATE TYPE TEST.TP_CLASS IS OBJECT ( TEACHER VARCHAR(10), --主任教师 STUDENT TEST.TT_STUDENT --学生 ); --创建学校班级信息表 CREATE TABLE TEST.SCHOOL ( CLASS_ID INT, --班级ID CLASS TEST.TP_CLASS --班级信息 ); --插入记录 INSERT INTO TEST.SCHOOL VALUES( 1 --class_id ,TEST.TP_CLASS('杨老师' --班级信息对象,主人教师名 ,TEST.TT_STUDENT(TEST.TR_STUDENT(1,'张三') --学生列表,第一个学生信息 ,TEST.TR_STUDENT(2,'李四') --第二个学生信息 ) ) ); COMMIT; --SQL查询测试 SELECT CLASS_ID ,TEST.SCHOOL.CLASS.TEACHER AS 主任教师 ,TEST.SCHOOL.CLASS.STUDENT.COUNT AS 学生数 ,TEST.SCHOOL.CLASS.STUDENT(1).STU_NAME AS 学生姓名1 ,TEST.SCHOOL.CLASS.STUDENT(2).STU_NAME AS 学生姓名2 FROM TEST.SCHOOL;
最后查询输出结果:
