我执行查询语句的时候按照一个字段排序时,出现ORA-01410: invalid ROWID的错误,监视出来的结果是
SELECT 入库日,rowid FROM 入出库 WHERE rowid =  0x010000000000000000000000000000000000这是为什么啊

解决方案 »

  1.   

    oracle rowid有固定格式的,另外,使用rowid需要单引号
    SQL> SELECT empno,rowid FROM emp WHERE rowid='0x01000000000000000000000000000000
    0000';
    SELECT empno,rowid FROM emp WHERE rowid='0x010000000000000000000000000000000000'                                        *
    第 1 行出现错误:
    ORA-01410: 无效的 ROWID
    SQL> SELECT empno,rowid FROM emp WHERE rowid=AAAXLcAAEAAAAAfAAG;
    SELECT empno,rowid FROM emp WHERE rowid=AAAXLcAAEAAAAAfAAG
                                            *
    第 1 行出现错误:
    ORA-00904: "AAAXLCAAEAAAAAFAAG": 标识符无效
    SQL> SELECT empno,rowid FROM emp WHERE rowid='AAAXLcAAEAAAAAfAAG';     EMPNO ROWID
    ---------- ------------------
          7782 AAAXLcAAEAAAAAfAAGSQL>
      

  2.   

    楼主这个rowid确实是无效的ROWID,是怎么来的?
      

  3.   

    这么奇怪的rowid,该不会是外部表吧?