我觉得你可以根据SQL语法自己解析,不过挺麻烦的。我以前用java做过,
但是对嵌套的Sql会有一些Bug,不太好处理。

解决方案 »

  1.   

    你可以根据SQL语法自己解析,不过挺麻烦的
      

  2.   

    使用动态SQL,因为你的语句没有确定
      

  3.   

    Why I don't understand what your point is ?
      

  4.   

    不是动态SQL.
    别人写的SQL, 如何得到其中的表名, 字段名?这个SQL里, 表名字段名可能是加了双引号的, 可能是加了别名的, 可能什么都没加....根据"select", "from", "where"等关键字应该能分析出来, 可是考虑的因素较多. 所以想ORACE里也许提供了什么方法, 可以调用一下就OK了, 没见无论多么复杂的SQL, ORACLE总是立刻先告诉我们, 哪个表不存在, 哪个字段不存在了.简单说, 任意给个SQL字符串, 我想得到这个字符串里的表, 字段清单.
      

  5.   

    呵呵,我觉得这个不是数据库的问题,应该到c/c++或者其他什么版块问更好一些。
    要是oracle真能提供这个功能,那真是我等的一大幸事。