zoukankan      html  css  js  c++  java
  • 变量类型 ROWID 和 UROWID

    ROWID:
        ROWID为该表行的唯一标识,是一个伪列,这个伪列可以用SELECT查看,但是不可以用INSERT, UPDATE来修改,不可以用DELETE来删除。
    UROWID:
      ROWID可以分为物理rowid和逻辑rowid两种。普通的堆表中的rowid是物理rowid,索引组织表(IOT)的rowid是逻辑rowid。
      oracle提供了一种urowid的数据类型,同时支持物理和逻辑rowid。
      物理rowid又分为扩展rowid(extended rowid)和限制rowid(restricted rowid)两种格式。
      限制rowid主要是oracle7以前的rowid格式,现在已经不再使用,保留该类型只是为了兼容性。

    例子1:
    1.创建一临时表
    create table test_rowid (id number, row_id rowid);
    2.插入一行记录
    insert into test_rowid values(1,null);
    3.修改刚插入的记录
    update test_rowid set row_id = rowid where id = 1;
    4.查看rowid

    select rowid,row_id from test_rowid;

    例子2:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    DECLARE
       Row_id ROWID;
       info    VARCHAR2(40);
    BEGIN
      INSERT INTO scott.dept VALUES (90, '财务室''海口')
      RETURNING rowid, dname||':'||to_char(deptno)||':'||loc
      INTO row_id, info;
      DBMS_OUTPUT.PUT_LINE('ROWID:'||row_id);
      DBMS_OUTPUT.PUT_LINE(info);
    END;


  • 相关阅读:
    装饰器实例
    生成器、迭代器脚本实例
    魔法方法和属性
    随机生成验证码
    认证客户端的链接合法性
    将socket通信实现多进程
    线程锁模拟抢票系统
    ntp时间服务器
    蛇形串---------
    两年内计划
  • 原文地址:https://www.cnblogs.com/rxhuiu/p/9105060.html
Copyright © 2011-2022 走看看