oracle 8    8i       9i的rowid由四部分组成:
OOOOOOFFFBBBBBBRRR
OOOOOO:数据对象号,表示数据库段的编号
FFF表在空间中的相对文件号
BBBBBB:在一个文件中的块号
RRR块中行的位置号rowid数据类型的使用:
rowidtochar:把rowid转换成char类型.select rowidtochar(a.rowid) from testa a where rownum<=1
AABj3OAEoAAAHpjAAAselect chartorowid('AABj3OAEoAAAHpjAAA') from dual
AABj3OAEoAAAHpjAAA

解决方案 »

  1.   

    不明白你要做什么,rowid本来就是自动生成的
    如果你要转化,有两个函数可以参考:
    1、ROWIDTOCHAR(rowid)
    SELECT ROWID FROM graphics 
        WHERE ROWIDTOCHAR(ROWID) LIKE '%F38%'
    2、CHARTOROWID(char)
    SELECT ename 
            FROM emp 
            WHERE ROWID = CHARTOROWID('0000000F.0003.0002') 
      

  2.   

    我现在想设置一个字符类型,让它能够自动生成,并且能够在记录集合里显示出来~
    ROWID是不是不能在记录集里显示出来?UROWID跟ROWID有什么区别?