`

rowid

 
阅读更多

rowid 行唯一标识符,也称为伪列

对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,且rownum不能以任何表的名称作为前缀。



1.ROWIDTOCHAR

语法:  ROWIDTOCHAR(rowid)

功能:  将ROWID类型的数值rowid转换为其外部的18字符的字符串表示,在oracle7和oracle8之间有些不一样的地方. ROWIDTOCHAR和CHARTOROWID是两个相反的函数.

SAMPLE:

SQL> select rowid,rowidtochar(rowid) from emp;

ROWID              ROWIDTOCHAR(ROWID)

------------------ ------------------

AAAMgzAAEAAAAAgAAO AAAMgzAAEAAAAAgAAO

AAAMgzAAEAAAAAgAAA AAAMgzAAEAAAAAgAAA

AAAMgzAAEAAAAAgAAB AAAMgzAAEAAAAAgAAB

AAAMgzAAEAAAAAgAAC AAAMgzAAEAAAAAgAAC

AAAMgzAAEAAAAAgAAD AAAMgzAAEAAAAAgAAD

AAAMgzAAEAAAAAgAAE AAAMgzAAEAAAAAgAAE



2.CHARTOROWID

语法:CHARTOROWID(string)

功能描述:把包含外部格式的ROWID的CHAR或VARCHAR2数值转换为内部的二进制格式.参数string必须是包含外部格式的ROWID的18字符的字符串.oracle7和 oracle8中的外部格式是不同的.CHARTOROWID是ROWIDTOCHAR的反函数.

SAMPLE:

SQL> select rowid,chartorowid('ssssffffgggghhhhrr'),ename from emp;

ROWID     CHARTOROWID('SSSSF..) ENAME

------------------         ------------------  ----------

AAAMgzAAEAAAAAgAAA  AsssffABiAAAhhhBrr  SMITH

AAAMgzAAEAAAAAgAAB  AsssffABiAAAhhhBrr  ALLEN

AAAMgzAAEAAAAAgAAC  AsssffABiAAAhhhBrr  WARD

AAAMgzAAEAAAAAgAAD  AsssffABiAAAhhhBrr  JONES

AAAMgzAAEAAAAAgAAE  AsssffABiAAAhhhBrr  MARTIN

AAAMgzAAEAAAAAgAAF  AsssffABiAAAhhhBrr  BLAKE

AAAMgzAAEAAAAAgAAG  AsssffABiAAAhhhBrr  CLARK

3.应用--根据查询出的ROWID更新删除表记录

--查询

SELECT ROWIDTOCHAR (wocardinfo.ROWID) rowidnum, wocardinfo.*
  FROM info.t_ci_wocardinfo wocardinfo
WHERE wocardinfo.svcnum = '15611312368'
   AND wocardinfo.preferencetype = '120027'
   AND wocardinfo.cardnum IS NULL
   AND ROWNUM = 1;

--更新

UPDATE info.t_ci_wocardinfo
   SET remark = '发送成功'
WHERE ROWIDTOCHAR (ROWID) = 'AAA4JOAE6AAALyCAAA';

--删除

DELETE FROM info.t_ci_wocardinfo
      WHERE ROWIDTOCHAR (ROWID) = 'AAA4JOAE6AAALyCAAA';
分享到:
评论

相关推荐

    rowid与rownumber

    rowid 与 rownumber 的介绍和应用 rowid 和 rownum 是 Oracle 数据库中的两个重要概念,对于数据库开发人员来说非常重要。下面我们将详细介绍 rowid 和 rownum 的概念、结构、应用场景等。 一、rowid 概念 rowid ...

    利用rowid快速在线更新海量数据

    ### 利用ROWID快速在线更新海量数据的关键技术点 #### 一、ROWID与数据库性能优化 **ROWID** 是 Oracle 数据库中一个非常重要的概念,它是一种特殊类型的列,用于唯一标识表中的一行数据。ROWID 的格式通常包含...

    mysql虚拟了一个rowid(类似跟oracle的rowid)--SQL语句.sql

    mysql虚拟了一个rowid(类似跟oracle的rowid)--SQL语句

    Oracle数据库rowid深入探析.pdf

    "Oracle数据库rowid深入探析" Oracle数据库rowid是Oracle数据库中一个重要的概念,也是Oracle DBA考试中一个重要的知识点。rowid是Oracle数据库中的一种伪列,它可以唯一地标识表中的每一行。伪列类似于数据表的列...

    Oracle中用Rowid查找和删除表中的重复记录

    ### Oracle中用Rowid查找和删除表中的重复记录 在Oracle数据库管理中,处理重复记录是一项常见的需求,尤其是在数据量较大的情况下。本文将详细介绍如何利用Rowid这一特性来有效地查找和删除表中的重复记录。 ####...

    oracle_SQL中rowid与rownum的使用

    在Oracle SQL中,`ROWID`和`ROWNUM`是两个非常重要的概念,它们在数据库查询和数据操作中起着至关重要的作用。本文将详细探讨这两个特性,包括它们的定义、用途以及如何在实际场景中有效利用它们。 一、ROWID详解 `...

    oracle_SQL中ROWID与ROWNUM的使用

    ### Oracle SQL中ROWID与ROWNUM的使用 #### ROWNUM 的使用——TOP-N 分析 在 Oracle SQL 中,`ROWNUM` 是一种特殊的伪列,用于标识查询结果集中的行编号。它常用于实现 TOP-N 查询,即返回结果集中满足特定条件的...

    Oracle学习笔记(rownum和rowid)

    Oracle学习笔记(rownum和rowid),有具体的代码案例讲解rownum和rowid

    oracle error invalid rowid

    在Oracle数据库系统中,"invalid rowid"错误通常表示尝试访问的数据行的引用已经失效或者不存在。RowID是Oracle数据库中用于唯一标识表中每一行的一个物理地址,它由数据库内部生成并存储在数据块中。当遇到"invalid...

    oraclerowid在表行中的物理标识.pdf

    此外,Oracle还提供了`DBMS_ROWID`包中的函数,例如`ROWID_OBJECT`、`ROWID_RELATIVE_FNO`、`ROWID_BLOCK_NUMBER`和`ROWID_ROW_NUMBER`,这些函数可以直接将ROWID转换为对应的10进制数值,便于理解: - `ROWID_...

    试论Rowid在Oracle数据库中的应用.pdf

    Oracle数据库中Rowid是一个非常重要的概念,它代表了数据库中记录的唯一地址标识。每行记录在Oracle数据库中都会有一个Rowid,相当于一个物理地址,即使该行数据在数据库中发生了迁移,其Rowid也不会改变。在处理...

    浅析Rowid在Oracle数据库中的应用.pdf

    Rowid分为不同类型:Foreign Rowid、Logical Rowid和Physical Rowid。Foreign Rowid用于在Oracle与其他数据库交互时标识其他数据库中的记录,确保跨系统的一致性。Logical Rowid主要存在于索引组织表的辅助索引中,...

    【优化】COUNT(1)、COUNT()、COUNT(常量)、COUNT(主键)、COUNT(ROWID)、COUNT(非空列)等

    BLOG_Oracle_lhr_【优化】COUNT(1)、COUNT()、COUNT(常量)、COUNT(主键)、COUNT(ROWID)、COUNT(非空列)、COUNT(允许为空列)、COUNT(DISTINCT 列名).pdf

    oracle_SQL-rowid--rownum.zip_oracle

    在Oracle SQL中,`ROWID`和`ROWNUM`是两个非常重要的概念,它们在数据库查询和操作中扮演着关键角色。本篇文章将详细解析这两个概念及其应用。 **ROWID** `ROWID`是Oracle数据库中一个特殊的伪列,它为每一行数据...

    在oracle中灵活使用Rownum和rowId

    ### 在Oracle中灵活使用Rownum和RowId 在Oracle数据库中,`ROWNUM` 和 `ROWID` 是两个非常重要的概念,它们可以帮助我们在查询数据时实现更灵活的数据管理。本文将详细介绍这两个概念的区别及其使用方法,并通过...

    表按ROWID切片.txt

    对一个大表进行UPDATE,DELETE,如果在一个SESSION里面运行SQL,很容易引发undo不够, 或者由于一些原因,导致回滚,这个是灾难

    rowid与rownum区别

    ORACLE 中ROWNUM用法总结!数据库管理员及程序开发员必看。

    Oracle中的rowid

    ROWID是ORACLE中的一个重要的概念。用于定位数据库中一条记录的一个相对唯一地址值。通常情况下,该值在该行数据插入到数据库表时即被确定且唯一。ROWID它是一个伪列,它并不实际存在于表中。它是ORACLE在读取表中...

Global site tag (gtag.js) - Google Analytics