- 浏览: 519199 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (299)
- Oracle(pl/sql_Erp_Pro*C) (69)
- 设计模式 (4)
- spring (23)
- ext (17)
- apache开源项目应用 (4)
- jquery (16)
- 生活琐事 (8)
- 下载资源 (23)
- mysql (2)
- Eclipse使用积累 (5)
- 报表类(报表/图表) (13)
- php (4)
- Web多彩文本框 (3)
- json (4)
- jqgrid (2)
- ant (2)
- java算法积累 (8)
- EL表达式/JSTL (4)
- poi (3)
- gwt (2)
- 爬网第一步 (2)
- javascript (17)
- Javaweb (8)
- tomcat (1)
- flex (1)
- Java&DB (3)
- J2SE (7)
- linux (3)
- 数据结构 (1)
- dot net (5)
- struts (1)
- ibatis (1)
- log4j (1)
- 项目管理 (1)
- Java native interface(jni,jacob......) (5)
- applet (1)
- VB.net/C#.net/JNI (20)
- css (1)
- Sqlite (1)
- servlet (1)
- REST (1)
最新评论
-
wenhurena:
能不能给一下解压密码roki.work.2017@gmail. ...
Ebs解体新書と学習資料1 -
liutao1600:
楼主写的太好了,每天学习~~
Spring_MVC(6)测试 -
liutao1600:
太好了,每天学习你的文章~~~
Spring_MVC(3)表单页面处理 -
liutao1600:
学习了,太好了
Spring_MVC(2)控制层处理 -
liutao1600:
学习了~~~
Spring_MVC(1)构建简单web应用
索引表 索引表的一些特性: 定义索引表 将条目插入到索引表中 对索引表中进行操作 索引表中的函数
索引表的机制实现不同于数组,pl/sql的table实现类似于数据库中的表,
它有两列:key与value. key的类型是binary_integer,而value
的类型是is table of data_type中的data_type指定的数据类型.
key value
1 abc
3 bcd
索引表是将数据保存在内存中!
索引表是不受约束的,最大值是binary_integer的取值范围
pl/sql索引表的元素没有必要按照特定的次序排序,元素可以按照任意键进行插入
pl/sql索引表使用键(key)没有必要是顺序的,所有binary_integer数据或表达式都可以作用表的索引
-- 定义记录集
TYPE yang_rec IS RECORD( ename varchar2(30), eid NUMBER );
-- 定义索引表类型
TYPE yang_tab IS TABLE OF yang_rec INDEX BY BINARY_INTEGER;
-- 定义索引表对象的实例
test_tab yang_tab;
索引表中的每个元素都由一个唯一的整型值(索引)标识。引用表中的值时,必须提供该值的索引。
索引的范围:1 ---- 2147483647,索引值可以不连续,同时PL/SQL并不为没有使用的条目预留空间。
例如:
DECLARE
CURSOR all_emps IS SELECT * FROM employee ORDER by emp_id;
TYPE emp_table IS TABLE OF employee%ROWTYPE INDEX BY BINARY_INTEGER;
emps emp_table;
emps_max BINARY_INTEGER;
BEGIN
emps_max := 0;
FOR emp IN all_emps LOOP
emps_max := emps_max + 1;
emps(emps_max).emp_id := emp.emp_id;
emps(emps_max).emp_name := emp.emp_name;
END LOOP;
END;
/
1) 插入:见上例。
2) 引用:
IF emps.EXIST(10) THEN
DBMS_OUTPUT.PUT_LINE('存在第10条记录。');
END IF;
3) 修改:
修改emps 表中的第100个条目:
emps(100).emp_name := 'yang linker';
4) 删除:
-- 删除emps 表中的第100个条目:
emps.DELETE(100);
-- 删除emps 表中的从1到100的条目:
emps.DELETE(1, 100);
-- 删除emps 表中的的所有条目:
emps.DELETE;
1) count:返回表的条目数量:
num_rows := emps.COUNT;
2) EXISTS:如果指定的条目存在,则返回为真;否则为假。
IF emps.EXIST(10) THEN
DBMS_OUTPUT.PUT_LINE('存在第10条记录。');
END IF;
3) LIMIT:该方法返回集合可以包含的最大元素数目。只有变长数组才有上限。将LIMIT 用于嵌套表和索引
表时,其返回为NULL。
4) FRIST:该方法返回集合中使用的最小的索引值。
5) LAST:该方法返回集合中使用的最大的索引值。
6) NEXT:该方法返回集合中当前使用的下一个索引值。
7) PRIOR:该方法返回集合中当前使用的上一个索引值。
8) DELETE:删除集合中的条目,见前例。
9) TRIM:从集合的尾部删除一个或多个条目,无返回值,只适用于变长数组和嵌套表。
emps.TRIM(1); -- 从集合的尾部删除一个条目
emps.TRIM(3); -- 从集合的尾部删除三个条目
10) EXTEND:在集合的尾部添加条目或复制已有的条目,只适用于变长数组和嵌套表。
emps.EXTEND(1); -- 从集合的尾部添加一个条目
emps.EXTEND(3); -- 从集合的尾部添加三个条目
emps.EXTEND(1, 3);-- 复制集合的第三个条目,并将其添加到表的末尾。
索引表与标准表的差异
- 一、索引表中的ROWID列存放的是【逻辑】物理地址。而标准表的ROWID伪列中存储的则是真实的物理地址,这是两者之间最本质的区别。另外其他几个方面的差异都是因为有这个差异存在而存在。或者说,它是索引表优势的根源。
一、索引表中的ROWID列存放的是【逻辑】物理地址。而标准表的ROWID伪列中存储的则是真实的物理地址,这是两者之间最本质的区别。另外其他几个方面的差异都是因为有这个差异存在而存在。或者说,它是索引表优势的根源。
- 二、索引表对记录的访问是基于主键的,也就是说,根据逻辑的ROWID。而标准表在访问记录的时候,则是通过物理的ROWID地址。
二、索引表对记录的访问是基于主键的,也就是说,根据逻辑的ROWID。而标准表在访问记录的时候,则是通过物理的ROWID地址。
- 三、表的扫描方式不同。若采用索引表的话,则数据库是通过全索引扫描方式访问相关的记录;而若采用标准表的话,则是通过顺序扫描的方式访问相关的记录。这两者访问方式在性能上有很大的差异。全索引扫描方式,可能提供更高的查询性能。
三、表的扫描方式不同。若采用索引表的话,则数据库是通过全索引扫描方式访问相关的记录;而若采用标准表的话,则是通过顺序扫描的方式访问相关的记录。这两者访问方式在性能上有很大的差异。全索引扫描方式,可能提供更高的查询性能。
四、对于主键的要求不同。在建立标准表的时候,不一定要指定主键。但是,若用户在建立索引表的时候,则必须给表建立主键,使用主键来唯一表示一行记录。很简单,在索引表中,ROWID伪列中就存储着主键信息。若不指定具体的主键的话,数据访问时就不能够对记录进行定位。
四、对于主键的要求不同。在建立标准表的时候,不一定要指定主键。但是,若用户在建立索引表的时候,则必须给表建立主键,使用主键来唯一表示一行记录。很简单,在索引表中,ROWID伪列中就存储着主键信息。若不指定具体的主键的话,数据访问时就不能够对记录进行定位。
索引表与标准表的差异只是停留在数据库开发的层面,或者说,只是内部存储结构上有一定的差异。但是,在用户使用它们的时候,没有任何的差异。在前台应用程序设计的时候,用户可以向普通表那样访问索引表。这就给索引表的应用排除了使用上的障碍。
发表评论
-
IBatis调用ORACLE的存储过程、函数的返回结果集例子
2012-03-05 23:31 2133import java.io.Serializabl ... -
Oracle分页函数样例——用于提高当前框架分页性能
2012-03-05 23:27 1387create or replace procedure P ... -
Oracle入门课件
2011-12-11 22:43 1011下载附件 -
自己经常上的Oracle官网的一些链接~~是啥自己点开看
2011-11-17 23:27 1117http://www.oracle.com/pls/db ... -
Oracle性能诊断艺术源码
2011-08-16 00:51 880请下载。 -
oracle support
2011-06-23 16:34 920https://support.oracle.com/CSP/ ... -
oracle 11g sql code
2011-02-24 20:55 1109附件参考 -
Oracle SQL优化
2011-01-19 23:16 877详见附件。讲述优化器。 -
Oracle PGA概念及调整
2011-01-03 23:18 1750--预备知识PGA(Process Global Area), ... -
修改Oracle SGA——防止oracle内存分配不足而down机
2011-01-03 23:16 2341在安装oracle 10g r2 数据库时,默认的SGA大 ... -
oracle SGA
2011-01-03 23:14 1365系统全局区又称SGA (System Global A ... -
Oracle 高水位概念(hwm)
2010-12-22 22:09 1435说到HWM,我们首先要简要 ... -
CDC积累的plsql用的各种例子
2010-11-09 15:49 836自用,有密码!请勿浪费时间下载。 -
oracle Erp安装和具体财务模块介绍
2010-10-11 12:54 1180http://bbs.erp100.com/thread-20 ... -
Oracle察看表约束
2010-10-08 16:07 11071、我们创建的对象可以从"USER_"开通 ... -
Oracle 行列转换积累
2010-09-29 11:36 1705行列转换包括以下六种情况:*列转行*行转列*多列转换成字符串 ... -
oracle bulk collection
2010-09-14 18:26 1256Oracle Bulk Collection & ... -
oracle discover
2010-09-03 16:28 958oracle discover -
Oracle rawtohex hextoraw
2010-09-03 15:03 3186Oracle 8.1.7 SQL> ed ... -
Oracle Raw,number,varchar2转换
2010-09-03 14:56 2262Oracle Raw,number,varchar2...转换 ...
相关推荐
C语言实现的词索引表程序:IndexBook。C语言实现按照索引插入并查找元素。严蔚敏建立词索引表:严蔚敏数据结构C语言实现,串操作应用举例中的词索引表例子,由于作者没给出完整源码,自己写了一个比较完整的。
词索引表的建立——查找操作在字符串处理中的应用 在计算机应用中,信息检索是非常重要的一个领域。为了提高图书馆数目检索的效率,建立书名关键词索引是非常必要的。这可以实现读者快速检索书目的自动化,即读者...
在IT领域,尤其是在文本处理和信息检索中,建立词索引表是一项重要的任务。词索引表是一种数据结构,用于快速查找和访问文档中的特定单词或短语,它极大地优化了搜索性能。以下是对给定标题和描述所涉及的知识点的...
在“建立词索引表”这个主题中,我们将深入探讨如何利用数据结构来构建和操作词索引,以支持快速的信息检索。 词索引表是一种用于存储文本数据(如书籍、文档)中关键词的数据结构,它允许用户快速查找包含特定词汇...
档案索引表(表格模板、DOC格式).doc 摘要:档案索引表是记录档案信息的表格模板,通常使用DOC格式存储。下面将对此模板进行详细解释,包括其结构、内容、应用场景和优点。 一、结构 档案索引表通常由以下几个...
2. 索引文件:如上所述,带有索引表的文件,可以提供快速访问,因为索引表可以直接指引到数据的位置。 3. 随机文件(Direct Access File):利用HASH函数将关键字转换为地址,实现直接存取,适合于需要频繁随机访问...
### 建立词索引表(数据结构,串的应用) #### 概述 本篇文章主要探讨了在《数据结构》课程中一个重要的应用案例——建立词索引表。通过这个例子,我们可以深入理解字符串处理、链表以及哈希表等数据结构的实际...
细化索引表生成器是一款专为数字图像处理编程设计的辅助工具,主要应用于细化程序的开发和边缘毛刺去除过程。在图像处理领域,细化是一种常见的技术,它用于减少图像边缘的宽度,使得线条更加清晰,这对于图像分析、...
RGB565颜色索引表GB565颜色索引表.xlsGB565颜色索引表.xls
词索引表构建程序代码 北大资源 需要的自己下载
### 数据结构:词索引表代码解析 #### 核心概念与实现 在《数据结构-C语言版》一书中,作者严蔚敏深入探讨了多种数据结构及其算法,其中词索引表是一种用于文本处理的重要数据结构。词索引表(Index Table)主要...
数据结构索引表(INDEX TABLE)C++实现代码
在IT领域,索引表是一种常见的数据结构,它允许快速访问和操作数据。在这个场景中,我们关注的是使用C++编程语言实现一个简单的索引表。C++是一种强大的、面向对象的编程语言,广泛用于系统软件、应用软件、游戏开发...
附录一、GRI索引表–一般标准揭露.pdf
这个"VB 指令、函数 索引表"很可能是为程序员提供了一个方便的参考资源,包含了VB中的各种指令和函数,帮助他们在编程过程中快速查找和理解所需的功能。 VB指令是控制程序流程的命令,例如`If...Then...Else`用于...
标题中的“档案备查索引表.zip”表明这是一个包含了与档案管理相关的索引表的压缩文件,使用了ZIP格式进行压缩以减小存储空间并方便传输。ZIP是一种常见的文件压缩格式,广泛应用于各种数据归档和分发。它允许用户将...
文档索引表是管理和组织大量信息的关键工具,尤其在企业或机构中,高效的数据存取对于日常工作至关重要。本文将深入探讨档案索引表的概念、重要性以及如何创建和使用DOC格式的档案索引表。 首先,档案索引表是一种...
在这个特定的"基于索引表的细化算法"中,我们将深入探讨其工作原理、优势以及在实际应用中的实现方式。 细化算法的主要目标是将图像的线条细化到单像素宽度,同时保持其原有的形状和结构不变。基于索引表的方法是一...
GoldenGate 同步无主键无唯一索引表的问题及解决方案 在数据同步中,无主键无唯一索引表的同步问题是常见的困扰, GoldenGate 作为一款优秀的数据同步工具,也遇到了这个问题。因此,本文将讨论 GoldenGate 同步无...