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;


  • 相关阅读:
    static 关键字
    gitlab 配置到jenkins
    Eclipse下代码字体背景变红/变绿/变黄原因
    构造方法(和python初始化变量类似)
    面向对象(实际就像python跳用自己写的库那样)
    Python 的AES加密与解密
    break 和 continue 的用法
    for循环
    Eclipse快捷键
    java三元运算符
  • 原文地址:https://www.cnblogs.com/rxhuiu/p/9105060.html
Copyright © 2011-2022 走看看