请问一个关于ora-00907的问题

dancun 2007-09-24 10:28:36


SELECT FileID AS "ID", FILENO, TITLE, KRISADMIN."STATUS"."DESCRIPTION" AS "STATUS", KRISADMIN."SECURITYLEVEL"."DESCRIPTION" AS "GRADING", KRISADMIN."COMPARTMENT"."NAME" AS "NAME" FROM KRISADMIN."FILE" LEFT JOIN KRISADMIN."STATUS" ON KRISADMIN."FILE".STATUSID = KRISADMIN."STATUS".STATUSID LEFT JOIN KRISADMIN."SECURITYLEVEL" ON KRISADMIN."FILE".SECURITYLEVELID = KRISADMIN."SECURITYLEVEL".SECURITYLEVELID LEFT JOIN KRISADMIN."COMPARTMENT" ON KRISADMIN."FILE".COMPARTMENTID = KRISADMIN."COMPARTMENT".COMPARTMENTID WHERE (UPPER(FileNo) LIKE 'CEO%' OR UPPER(Title) LIKE '%CEO%'OR UPPER(KRISADMIN."STATUS"."DESCRIPTION") LIKE '%CEO%'OR UPPER(KRISADMIN."SECURITYLEVEL"."DESCRIPTION") LIKE '%CEO%'OR UPPER(KRISADMIN."COMPARTMENT"."NAME") LIKE '%CEO%')AND (FILEID IN (SELECT "ChildID" FROM KRISADMIN.UDF_COMPTFILETREE('2','1')) OR FILEID IN (SELECT "ChildID" FROM KRISADMIN.UDF_SUBJFILETREE('2','1')) OR FILEID IN (SELECT "ChildID" FROM KRISADMIN.UDF_PUBLICCOMPTFILETREE('1')))ORDER BY "NAME",FILENO,TITLE

错误代码是ora-00907,网上查是说order by的问题,但是去了order by后还是一样的错误。。错误显示始终是在IN 上。。就是FILEID IN 。只要有一个Fileid IN存在就出错。。

这个语句是在MSSQL里测试是通过的。。感觉上MSSQL和ORACLE没什么很大的区别在这段上。。请高手指点下。。谢谢
...全文
3160 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanglong1101 2012-03-10
  • 打赏
  • 举报
回复
可能是语句后面没有用逗号分开
似懂非懂_ht 2011-11-22
  • 打赏
  • 举报
回复
一看楼主就是个 自私的2 子 。。。
IiI1-1 2011-04-12
  • 打赏
  • 举报
回复
楼主,我也遇到和你一样的问题,你能不能把答案写在下面!!
Synchronized 2010-12-27
  • 打赏
  • 举报
回复
我QQ373902524,楼主告诉我怎么解决的啊,呵呵
QingT26 2010-10-19
  • 打赏
  • 举报
回复
我也遇到了同样的问题,怎么楼主不说出是怎么解决的吗?
maohai_7326 2010-02-23
  • 打赏
  • 举报
回复
qq:187175546,请回复哦!!
maohai_7326 2010-02-23
  • 打赏
  • 举报
回复
楼主我遇到的问题和你的一样!!请问怎么解决的??拜求答案,联系方式:187175546
dancun 2007-09-25
  • 打赏
  • 举报
回复
谢谢。。解决了
yangshanyin 2007-09-25
  • 打赏
  • 举报
回复
没遇到过这样的问题,自己看下自己的代码吧!
dancun 2007-09-24
  • 打赏
  • 举报
回复
测了半天因该是函数返回的表的问题。。。请问那个高手遇到过这样的情况啊?
dancun 2007-09-24
  • 打赏
  • 举报
回复
SELECT FileID AS "ID", FILENO, TITLE, KRISADMIN."STATUS"."DESCRIPTION" AS "STATUS", KRISADMIN."SECURITYLEVEL"."DESCRIPTION" AS "GRADING", KRISADMIN."COMPARTMENT"."NAME" AS "NAME"
FROM KRISADMIN."FILE" LEFT JOIN KRISADMIN."STATUS" ON KRISADMIN."FILE".STATUSID = KRISADMIN."STATUS".STATUSID LEFT JOIN KRISADMIN."SECURITYLEVEL" ON KRISADMIN."FILE".SECURITYLEVELID = KRISADMIN."SECURITYLEVEL".SECURITYLEVELID LEFT JOIN KRISADMIN."COMPARTMENT" ON KRISADMIN."FILE".COMPARTMENTID = KRISADMIN."COMPARTMENT".COMPARTMENTID WHERE (UPPER(FileNo) LIKE 'CEO%' OR UPPER(Title) LIKE '%CEO%'OR UPPER(KRISADMIN."STATUS"."DESCRIPTION") LIKE '%CEO%'OR UPPER(KRISADMIN."SECURITYLEVEL"."DESCRIPTION") LIKE '%CEO%'OR UPPER(KRISADMIN."COMPARTMENT"."NAME") LIKE '%CEO%')AND (FILEID IN (SELECT ChildID FROM table(cast(KRISADMIN.UDF_COMPTFILETREE('2','1')as KRISADMIN.ComptSubjFileTree_TBL))) OR FILEID IN (SELECT ChildID FROM table(cast(KRISADMIN.UDF_SUBJFILETREE('2','1') as KRISADMIN.ComptSubjFileTree_TBL))) OR FILEID IN (SELECT ChildID FROM table(cast(KRISADMIN.UDF_PUBLICCOMPTFILETREE('1') as KRISADMIN.PublicComptFileTree_TBL))))ORDER BY "NAME",FILENO,TITLE

no rows selected
dancun 2007-09-24
  • 打赏
  • 举报
回复
我括号没有少拉,有个很奇怪的。。
我全部语句放一条进行select就有ORA-00907的错误。。
但是随便找个地方移到到下一行就没错了。。为什么啊?
eg
SELECT FileID AS "ID", FILENO, TITLE, KRISADMIN."STATUS"."DESCRIPTION" AS "STATUS", KRISADMIN."SECURITYLEVEL"."DESCRIPTION" AS "GRADING", KRISADMIN."COMPARTMENT"."NAME" AS "NAME" FROM KRISADMIN."FILE" LEFT JOIN KRISADMIN."STATUS" ON KRISADMIN."FILE".STATUSID = KRISADMIN."STATUS".STATUSID LEFT JOIN KRISADMIN."SECURITYLEVEL" ON KRISADMIN."FILE".SECURITYLEVELID = KRISADMIN."SECURITYLEVEL".SECURITYLEVELID LEFT JOIN KRISADMIN."COMPARTMENT" ON KRISADMIN."FILE".COMPARTMENTID = KRISADMIN."COMPARTMENT".COMPARTMENTID WHERE (UPPER(FileNo) LIKE 'CEO%' OR UPPER(Title) LIKE '%CEO%'OR UPPER(KRISADMIN."STATUS"."DESCRIPTION") LIKE '%CEO%'OR UPPER(KRISADMIN."SECURITYLEVEL"."DESCRIPTION") LIKE '%CEO%'OR UPPER(KRISADMIN."COMPARTMENT"."NAME") LIKE '%CEO%')AND (FILEID IN (SELECT ChildID FROM table(cast(KRISADMIN.UDF_COMPTFILETREE('2','1')as KRISADMIN.ComptSubjFileTree_TBL))) OR FILEID IN (SELECT ChildID FROM table(cast(KRISADMIN.UDF_SUBJFILETREE('2','1') as KRISADMIN.ComptSubjFileTree_TBL))) OR FILEID IN (SELECT ChildID FROM ta
*
ERROR at line 1:
ORA-00907: missing right parenthesis
dancun 2007-09-24
  • 打赏
  • 举报
回复
数据库名和表名。。
kinglht 2007-09-24
  • 打赏
  • 举报
回复
KRISADMIN."STATUS"."DESCRIPTION"这种写法是什么啊?
kinglht 2007-09-24
  • 打赏
  • 举报
回复
应该是你的语句里括号的数量不一致,缺少右括号。

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧