Oracle嵌套表】的更多相关文章

一.介绍  1.定义 嵌套表是表中之表.一个嵌套表是某些行的集合,它在主表中表示为其中的一列.对主表中的每一条记录,嵌套表可以包含多个行.在某种意义上,它是在一个表中存储一对多关系的一种方法.    简单的说:就是把一个表中的字段定义为一个表,这个字段表的数据存储在外部的一个表中.嵌套表可以有效地代替多个表之间的连接. 补充: 当需要存储与表有关的数据时,可选的方案包括:可变数组.嵌套表.独立表.三种方案有什么区别,或者说什么情况下适用呢? (1)可变数组:可变数组是不能被索引的,当记录量很大时…
--自定义对象 CREATE OR REPLACE TYPE Fas_checksheetinfo_line_obj AS OBJECT(  CSID_ID           VARCHAR2(32),--报账单明细ID  CSI_ID            VARCHAR2(32),--报账单ID  CSID_GENERATEDATE DATE,        --费用发生日期  CSID_TYPE         VARCHAR2(32),--费用类型  CSID_SUMMARY     …
本文转载自:http://www.cnblogs.com/gisdream/archive/2012/04/13/2445291.html ----嵌套表:就是把一个表中的字段定义为一个表,这个字段表的数据存储在外部的一个表中,      例如下例嵌套表中的数据存储在required_tab表中.----嵌套表可以有效地代替多个表之间的连接create type bookobj as object(title varchar2(40),author varchar2(40),catalog_nu…
自己解决问题了 问题总结: 1.index by表不能存储在数据库中的type中,故选择嵌套表. 2.ibatis不支持oracle的复合数据类型的返回.(个人理解) 3.替代方案:用返回oracle游标来代替复合数据类型.ibatis能接受oracle游标类型. 注意此处是ibatis2.3 部分代码: 1.java 1 private Map<String,Object> userStateResult(Users users)throws Exception{ 2 Map<Stri…
创建变长数组类型 ) );  这个变长数组最多可以容纳两个数据,数据的类型为 varchar2(50) 更改元素类型的大小或精度 可以更改变长数组类型和嵌套表类型 元素的大小. ALTER TYPE varray_type MODIFY ELEMENT TYPE ) CASCADE; CASCADE选项吧更改传播到数据库中的以来对象.也可以用 INVALIDATE 选项使依赖对象无效 增加变长数组的元素数目 ALTER TYPE vrray_name MODIFY LIMIT CASCADE;…
1.基础环境 创建基础表: CREATE TABLE TEST_TAB1( ID INT, NAME VARCHAR2(20) ); CREATE TABLE TEST_TAB2( ID INT, NAME VARCHAR2(20) ); CREATE TABLE TEST_TAB3( ID INT, NAME VARCHAR2(20) ); CREATE TABLE TEST_IN_TAB( ID INT, NAME VARCHAR2(20) ); 插入基础数据: INSERT INTO TE…
关于PL/SQL中这三种数组的介绍,不想写了.转一篇日志吧…… 链接:http://www.blogjava.net/decode360/archive/2008/08/08/280825.html 作者:decode360 补充一点:假如从first到last的遍历过程中,存在被删除的占位符,如果使用则会报错.可用Exists(下标)的方法来判断是否存在.不能用is null 来判断…… 记录类型不能整体用null判断,我能想到并测试成功的方法是判断里面的NOT NULL字段(推荐主键)是否为…
Oracle的表连接方式: 1.Nl Join连接(嵌套连接) 2.Hash Join(哈希连接) 3.Merge Sort Join(排序合并连接) 各种连接的使用场景: 1. 排序合并连接是偏向于OLAP的连接 2.嵌套连接和哈希连接偏向于OLTP的连接 哈希连接和排序合并连接适用于吞吐量的操作…
Oracle多表的简单查询 .多表查询 多表查询是指基于两个和两个以上的表或是视图的查询. 问题:显示雇员名,雇员工资及所在部门的名字[笛卡尔集]? select t.ename,t.sal,t1.dnamefrom emp t,dept t1where t.deptno=t1.deptno; 问题:显示部门号为10的部门名.员工名和工资? SELECT d.dname, e.ename, e.sal FROM emp e, dept d WHERE e.deptno = d.deptno an…
嵌套表 嵌套表是一种类似于索引表的结构,也可以用于保存多个数据,而且也可以保存复合类型的数据 嵌套表指的是一个数据表定义事同时加入了其他内部表的定义,这一概念是在oracle 8中引入的,它们可以使用SQL进行访问,也可以进行动态扩展. 创建表指定嵌套表存储空间名称 Create table 表名称( 字段名称 类型 -- 嵌套表字段名称 嵌套表类型 )NESTED TABLE 嵌套表字段名称 STORE AS 存储空间名称: 定义部门表 DROP TABLE department Create…