Oracle 内置数据类型 -- ROWID
来源:互联网 发布:战争知乎 编辑:程序博客网 时间:2024/05/18 02:06
-- Start
在数据库中,每一行都有一个地址,我们可以查询伪列 ROWID 来得到这个值。
CREATE TABLE TEST(NAME VARCHAR(10));INSERT INTO TEST VALUES ('TEST');SELECT ROWID, NAME FROM TEST;-- 结果ROWID NAMEAAAFCoAAEAAAASuAAATEST
这个值看上去是一个字符串,但事实上,它的类型是 ROWID,我们可以定义一个列,它的类型为 ROWID。
CREATE TABLE TEST( NAME VARCHAR(10), LINE_ID ROWID NULL);INSERT INTO TEST (NAME) VALUES ('TEST');UPDATE TEST SET LINE_ID = ROWID;SELECT ROWID, LINE_ID, NAME FROM TEST;-- 结果ROWID LINE_ID NAMEAAAFCpAAEAAAAS2AAAAAAFCpAAEAAAAS2AAATEST
对于某些表,如索引组织表,由于它存储在索引的叶子节点上,可以移动,也就意味着它的物理地址可能会变。为了确保返回的 ROWID 不发生变化,Oracle 会根据主键生产一个逻辑的 ROWID, 此时 ROWID 的数据类型是 UROWID.
CREATE TABLE TEST(NAME VARCHAR(10) PRIMARY KEY,VALUE VARCHAR(10)) ORGANIZATION INDEX;INSERT INTO TEST (NAME, VALUE) VALUES ('KEY', 'VALUE');CREATE TABLE LINE( LINE_ID UROWID(60));INSERT INTO LINESELECT ROWID FROM TEST;SELECT * FROM LINE;-- 结果LINE_ID*BAEABMMDS0VZ/g
--更多参见:Oracle SQL 精萃
-- 声明:转载请注明出处
-- Last edited on 2015-01-01
-- Created by ShangBo on 2014-12-31
-- End
0 0
- Oracle 内置数据类型 -- ROWID
- Oracle ROWID数据类型
- oracle 内置数据类型
- Oracle 内置数据类型 -- 字符
- Oracle 内置数据类型 -- 数值
- Oracle 内置数据类型 -- 日期时间
- Oracle 内置数据类型 -- 大对象
- oracle rowid
- ORACLE ROWID
- Oracle RowID
- ORACLE ROWID
- Oracle ROWID
- Oracle ROWID
- oracle rowid
- ORACLE-rowid
- Oracle ROWID
- Oracle rowid
- Oracle ROWID
- unity学习之GUI登陆界面
- 轻松入门easyui(三)效果展示
- JZ2440开发板学习------中级(二十五:下)
- 我的2014-想说的太多
- Ubuntu 创建开机自启动脚本的方法
- Oracle 内置数据类型 -- ROWID
- 【开发工具】[嵌入式]:嵌入式微处理器s3c2440应需要用到哪些软件
- 2015我决定要实现的三个目标
- 2014最后一天,let it go.
- UDP、TCP通讯例程汇总
- 解决oracle11g通过exp无法导出空表的问题
- ios安全键盘问题
- 【Unity快速实现小功能】动画系统学习小技巧篇(一)——设置动画循环播放
- axis1.4与myeclipse开发webservice