(转)oracle嵌套表示例】的更多相关文章

本文转载自: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.定义 嵌套表是表中之表.一个嵌套表是某些行的集合,它在主表中表示为其中的一列.对主表中的每一条记录,嵌套表可以包含多个行.在某种意义上,它是在一个表中存储一对多关系的一种方法.    简单的说:就是把一个表中的字段定义为一个表,这个字段表的数据存储在外部的一个表中.嵌套表可以有效地代替多个表之间的连接. 补充: 当需要存储与表有关的数据时,可选的方案包括:可变数组.嵌套表.独立表.三种方案有什么区别,或者说什么情况下适用呢? (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     …
CREATE TABLE "BRAND_RELATION"    (        "ID" NUMBER(10,0) NOT NULL ENABLE,     "CATID" NUMBER(10,0) NOT NULL ENABLE,     "BRAND_ID" NUMBER(10,0) NOT NULL ENABLE,     PRIMARY KEY ("ID")    );CREATE SEQUEN…
create table wf_message_weixinqun(dizhi VARCHAR2(200) not null, weixinnicheng VARCHAR2(6) not null,weixinhao VARCHAR2(32) not null,weixinid VARCHAR2(32) not null,xinming VARCHAR2(6) not null,shenfenzheng VARCHAR2(20),shoujihao VARCHAR2(16) not null,w…
自己解决问题了 问题总结: 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…
Oracle创建表语句(Create table)语法详解及示例 2010-06-28 13:59:13|  分类: Oracle PL/SQL|字号 订阅 创建表(Create table)语法详解1. ORACLE常用的字段类型ORACLE常用的字段类型有VARCHAR2 (size) 可变长度的字符串, 必须规定长度CHAR(size) 固定长度的字符串, 不规定长度默认值为1NUMBER(p,s) 数字型p是位数总长度, s是小数的长度, 可存负数最长38位. 不够位时会四舍五入.DAT…
创建变长数组类型 ) );  这个变长数组最多可以容纳两个数据,数据的类型为 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…
SQLLDR用于快速的批量导入数据, 示例步骤如下: 1.确定Oracle的连接示例 username/password@sid 我使用的是:system/world @ localorcl sid是连接的示例,也就是net manager中的服务命名,示意图如下: 2.创建表,语句如下: CREATE TABLE TT ( ID INTEGER, NAME BYTE), CON BYTE), DT DATE ) 3.在D盘下创建数据文件:test.txt内容: 1,a,,2007-07-82,…