oracle中的rowid使用及说明

 更新时间:2025年06月07日 15:50:52   作者:浅释的思旭  
这篇文章主要介绍了oracle中的rowid使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

oracle中的rowid

oracle数据库的表中的每一行数据都有一个唯一的标识符,或者称为rowid,在oracle内部通常就是使用它来访问数据的。

rowid需要 10个字节的存储空间,并用18个字符来显示。

该值表明了该行在oracle数据库中的物理具体位置。可以在一个查询中使用rowid来表明查询结果中包含该值。

AAAR1yAAHAAAAFkAAA为例

这里的AAAR1y是数据库对象编号,AAH是文件标号,AAAAFk是块编号,最后三位AAA是行编号。

使用select * from DEPT;

输出结果中是不能看到rowid这里一列的,这是因为这一列只在数据库内部使用,rowid通常被称为一个伪列。

如果想选择

scott.emp的数据后进行手工修改,则必须使

select rowid,t.* from scott.emp t;

而不能直接写成

select * from emp;
select rowid,t.* from scott.emp t;
select * from scott.emp for update;

在ORACLE中用ROWID来定位记录是最快的,比索引还快,所以如果先用SELECT ROWID选出要更新的行,放入COLLECTION中,再用 FORALL UPDATE 来批量更新可以提高速度。从这点来讲是比其他方法好一点

SELECT FOR UPDATE在更新前会锁定记录,这在复杂的并行查询更新程序中是必要的,比如要求数据一致性,在过滤数据时不允许他人改动数据,会用FOR UPDATE或SET TRANSACTION READ ONLY来加锁。

另外像 CURSOR里的WHERE CURRENT OF CURSOR语句要求SELECT中必须加FOR UPDATE.

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • ORACLE 配置邮件服务器操作示例

    ORACLE 配置邮件服务器操作示例

    这篇文章主要介绍了ORACLE 配置邮件服务器操作,结合实例形式分析了oracle创建访问控制、权限控制、端口设置及邮件发送存储过程等相关使用技巧,需要的朋友可以参考下
    2020-02-02
  • SQL PLUS基本命令的使用方法示例

    SQL PLUS基本命令的使用方法示例

    这篇文章主要给大家介绍了关于SQL PLUS基本命令的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Oracle 解决ORA-00257 Archiver error 报错问题解决

    Oracle 解决ORA-00257 Archiver error 报错问题解决

    订单投资交易环境进行 impdb 数据泵恢复数据,执行到一半,报错终止,归档策略保留时间较长,或归档频率过高,导致数据库挂载盘符空间不足,本文给大家分享Oracle 解决ORA-00257 Archiver error 报错问题解决,感兴趣的朋友一起看看吧
    2023-12-12
  • oracle 临时表详解及实例

    oracle 临时表详解及实例

    这篇文章主要介绍了oracle 临时表详解及实例的相关资料,需要的朋友可以参考下
    2016-09-09
  • Oracle行级触发器的使用操作

    Oracle行级触发器的使用操作

    这篇文章主要介绍了Oracle行级触发器的使用,创建触发器并使用dblink在插入时进行数据同步,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • Oracle数据库把多行转一列逗号分割两种方法

    Oracle数据库把多行转一列逗号分割两种方法

    Oracle将行转换为列是指将关系型数据库中的行数据转换为列数据的操作,这篇文章主要给大家介绍了关于Oracle数据库把多行转一列逗号分割两种方法的相关资料,需要的朋友可以参考下
    2024-07-07
  • oracle中如何保留两位小数

    oracle中如何保留两位小数

    这篇文章主要介绍了oracle中如何保留两位小数问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • oracle查看字符集后修改oracle服务端和客户端字符集的步骤

    oracle查看字符集后修改oracle服务端和客户端字符集的步骤

    本文介绍了oracle server端查询字符集后,修改oracle服务端和客户端字符集的步骤,大家参考使用吧
    2014-01-01
  • 一文详解Oracle存储过程

    一文详解Oracle存储过程

    Oracle存储过程是Oracle数据库中的一种数据处理对象,它可以在数据库中定义一组预定义的SQL语句,用于完成特定的数据库操作,本文将通过代码示例详细介绍了Oracle存储过程,需要的朋友可以参考下
    2023-05-05
  • Oracle 11g2的监听器配置教程

    Oracle 11g2的监听器配置教程

    Oracle的监听器服务注册方式有两种,分别为动态和静态,本文将详细介绍这两种,需要的朋友可以参考下
    2012-11-11

最新评论