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;


  • 相关阅读:
    python 中多个装饰器的执行顺序:
    Python基础思维导图
    怎样写出靠谱的RESUTful API接口?
    python中yield()的用法详解
    Flask思维导图
    Django的设计模式
    MySQL
    MySQL
    Linux
    zsh oh-my-zsh 插件推荐
  • 原文地址:https://www.cnblogs.com/rxhuiu/p/9105060.html
Copyright © 2011-2022 走看看