zoukankan      html  css  js  c++  java
  • Oracle 中伪数列ROWID

      Oracle 的ROWID 用来唯一标识表中的一条记录,是这条数据在数据库中存放的物理地址。

      一般来说,每一行数据对应的rowid是固定而且唯一的,在这一行数据存入数据库的时候就确定了。

      可以利用rowid来查询记录,而且通过rowid查询记录是查询速度最快的查询方法。ROWID只有在表发生移动(比如表空间变化,数据导入/导出以后),才会发生变化。

      ROWID的结构:

      有18位,每位使用base-64代码,包括a-z,A-Z,0-9,+,- 共64个字符表示。 A表示0,B表示1,。。。Z表示25,a表示26,。。。z表示51,0表示52,。。9表示61,+表示62,-表示63。ROWID具体可以划分为4个部分。
      
      1-6位:代表OBJECT ——数据对象编码 。将其转化成数字后匹配DBA_OBJECTS中DATA_OBJECT_ID字段值,可以确定表信息。
      7-9位:文件相对值 ——相关文件编码。 相对表空间的数据文件号。
      10-15:文件中的BLOCK ——块编码。 表示这条记录在数据文件中的第几个BLOCK中。
      16-18:BLOCK中的SLOT值 ——行编码。表示这条记录是BLOCK中的第几条记录。
     
      注:在FORM开发过程,如果数据块重新布局,ROWID项的属性值就会自动变为4,此时需手工修改值为18。
  • 相关阅读:
    C#防止窗口重复打开
    c#image与byte数组的转换
    物理网卡地址
    C#[WinForm]实现自动更新
    js计算散点图方程式
    js遮罩效果
    js实现四舍六入 奇进偶舍
    ajax加载表格数据
    C#创建和调用WebService详细教程
    .NET中的CTS、CLS和CLR
  • 原文地址:https://www.cnblogs.com/Cqiang/p/2746531.html
Copyright © 2011-2022 走看看