在一个C写的OCI程序中,使用了如下SQL语句
select * from (select rownum rowseq, t.* from demo t) where rowseq>15
总是报ORA-00904:Invalid identifier "rowseq"。
DEMO表结构中存在CLOB和BLOB字段,经判断是LOB字段引起的错误,请问如何解决?还实验过一个语句
select * from demo minus select * from demo where rownum<16
报ORA-00932:inconsistent datatype,expect- ,get clob
我知道是由于此表有LOB字段,不支持MINUS操作,查询了一下文档,里面提到“UNION,   MINUS,   and   SELECT   DISTINCT   are   allowed   on   LOB   attributes   if   the   object   type   has   a   MAP   or   ORDER   function.”。对这一句很不理解,请大家指点!这里先谢谢了!

解决方案 »

  1.   

    改成select rowseq,t.* from (select rownum rowseq, t.* from demo t) where rowseq>15试试
      

  2.   

    我TRY一下!多谢先!对于““UNION,   MINUS,   and   SELECT   DISTINCT   are   allowed   on   LOB   attributes   if   the   object   type   has   a   MAP   or   ORDER   function.””这句话不知道该怎样理解呢?the   object   type   has   a   MAP   or   ORDER   function是指什么样的情况?