下载此文档

oracle伪列以与伪表.doc


文档分类:IT计算机 | 页数:约19页 举报非法文档有奖
1/19
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/19 下载此文档
文档列表 文档介绍
. .
1 / 19
oracle的伪列以与伪表
   oracle系统为了实现完整的关系数据库功能,系统专门提供了一组成为伪列(Pseudocolumn)的数据库列,这些列不是在建立对象时由我们完成的,而是在我们建立时由Oracle完成的。Oracle目前有以下伪列:
伪列:
  CURRVAL AND NEXTVAL 使用序列号的保留字
  LEVEL 查询数据所对应的层级
  ROWID 记录的唯一标识
  ROWNUM 限制查询结果集的数量
二、伪表
DUAL 表
该表主要目的是为了保证在使用SELECT语句中的语句的完整性而提供的。
一般用于验证函数。例如:
selectsysdate,to_char(sysdate,'yyyy-mm-dd HH24:mm:ss') from dual
Oracle伪列RowID
一、什么是伪列RowID?
1、首先是一种数据类型,唯一标识一条记录物理位置的一个id,基于64位编码的18个字符显示。
2、未存储在表中,可以从表中查询,但不支持插入,更新,删除它们的值。
二、RowID的用途
1,在开发中使用频率应该是挺多的,特别在一些update语句中使用更加频繁。所以oracle ERP部份的视图都会加入rowid这个字段。
   在一些cursor定义时也少不了加入rowid。但往往我们在开发过程中,由于连接的表很多,再加上程序的复制,有时忽略了rowid对应的是那一个表中rowid,所以有时过程出错,
   往往花上很多时间去查错,最后查出来既然是update时带的rowid并非此表的rowid,所以在发现很多次的错误时,重视rowid起来了,开发中一定要注意rowid的匹配
2,能以最快的方式访问表中的一行。
3,能显示表的行是如何存储的。
4,作为表中唯一标识。
三,RowID的组成
rowid确定了每条记录是在Oracle中的哪一个数据对象,数据文件、块、行上。
ROWID 的格式如下:
数据对象编号        文件编号        块编号            行编号
   OOOOOO             FFF                BBBBBB    RRR
  由 data_object_id# + rfile# + block# + row#   组成,占用10个bytes的空间,
    32bit的 data_object_id#,
    10 bit 的 rfile#,      22bit 的 block#,
    16 bit 的 row#.    所以每个表空间不能超过1023个 数据文件。
. .
2 / 19
四、RowID的应用1。准备数据:   当试图对库表中的某一列或几列创建唯一索引时,
   系统提示 ORA-01452 :不能创建唯一索引,发现重复记录。
    /*conn scott/tiger
    Create table empa as select * from emp;
   (为以下演示)插入重复记录
--创建一个表
createtable dupCityInfo
asselect * from cityInfo
--制造重复数据
insertinto dupCityInfo select * from cityInfo
2. 查找重复记录的几种方法:     方法1:
selectid,count(*) from dupCityInfo groupbyidhavingcount(*) >1;
方法2:
Select * From dupCityInfo WhereROWIDNotIn(
--每个组中最小的ROWID(或者最大的ROWID)
SelectMin(ROWID)
From dupCityInfo
GroupByid
);
   * from dupCityInfo a whererowid<>(
selectmax(rowid) from dupCityInfo whereid=
);
  :    (1).适用于有大量重复记录的情况(列上建有索引的时候,用以下语句效率会很高):
方法1:
Deletefrom dupCityInfo
WhereidIn (
Sele

oracle伪列以与伪表 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数19
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xd3225
  • 文件大小77 KB
  • 时间2021-12-03