【问题标题】:java.sql.SQLException: ORA-00900: invalid SQL statement in Ecllipsjava.sql.SQLException: ORA-00900: Eclipse 中的 SQL 语句无效
【发布时间】:2023-03-21 08:53:01
【问题描述】:

我正在尝试从 Ecllips 执行以下查询,但出现以下错误。

rs = stmt.executeQuery("select"
+"sum(pr.amount)"
+"from trans_log tl,"
+"payment_detail pp,"
+"pft_trans_reltn pr,"
+"pft_encntr pe,"
+"encounter e,"
+"account a"
+"where"
+"pr.beg_effective_dt_tm >= TO_DATE('01/JUN/2015 00:00:00', 'dd/mm/yy hh24:mi:ss') AND pr.beg_effective_dt_tm <= TO_DATE('30/JUN/2015 23:59:59', 'dd/mm/yy hh24:mi:ss')"
+"and pp.payment_detail_id=tl.payment_detail_id"
+"and tl.activity_id=pr.activity_id"
+"and tl.active_ind=1"
+"and tl.trans_type_cd=10982.00"
+"and pr.parent_entity_name='PFTENCNTR'"
+"and pe.pft_encntr_id=pr.parent_entity_id"
+"and a.acct_id=pe.acct_id"
+"and a.acct_type_cd=649377.00"
+"and pe.encntr_id=e.encntr_id"
+"and e.organization_id=589723.00");

我已按照本文Oracle Post Link中的建议进行了尝试

我无法弄清楚我哪里出错了。

我尝试添加单引号,但同样的错误:

pr.beg_effective_dt_tm >= TO_DATE(\"01/JUN/2015 00:00:00\", \"dd/mm/yy hh24:mi:ss\")

错误:java.sql.SQLException:ORA-00900:

【问题讨论】:

  • 语句之间需要空格
  • 我已经删除了空格和语句,我在单行中编写了整个查询,但得到了同样的错误
  • 我与之交互的数据库是oracle,所以我添加了oracle

标签: java sql oracle


【解决方案1】:

在每一行添加空格。尝试这样使用:

rs = stmt.executeQuery("select"
+" sum(pr.amount)"
+" from trans_log tl,"
+" payment_detail pp,"
+" pft_trans_reltn pr,"
+" pft_encntr pe,"
+" encounter e,"
+" account a"
+" where"
+" pr.beg_effective_dt_tm >= TO_DATE('01/JUN/2015 00:00:00', 'dd/mm/yy hh24:mi:ss') AND pr.beg_effective_dt_tm <= TO_DATE('30/JUN/2015 23:59:59', 'dd/mm/yy hh24:mi:ss')"
+" and pp.payment_detail_id=tl.payment_detail_id"
+" and tl.activity_id=pr.activity_id"
+" and tl.active_ind=1"
+" and tl.trans_type_cd=10982.00"
+" and pr.parent_entity_name='PFTENCNTR'"
+" and pe.pft_encntr_id=pr.parent_entity_id"
+" and a.acct_id=pe.acct_id"
+" and a.acct_type_cd=649377.00"
+" and pe.encntr_id=e.encntr_id"
+" and e.organization_id=589723.00");

【讨论】:

    【解决方案2】:

    如果你有

    rs = stmt.executeQuery("select"
    +"sum(pr.amount)"
    

    那么它试图执行的sql的字符串是

    selectsum(pr.amount)
    

    如您所见,您需要一些空白。

    还有日期掩码

    TO_DATE('01/JUN/2015 00:00:00', 'dd/mm/yy hh24:mi:ss')
    

    不正确,请尝试使用MON 而不是mm

    http://www.techonthenet.com/oracle/functions/to_date.php

    【讨论】:

    • 是的,感谢您的帮助,我收到以下错误 nw java.sql.SQLException: ORA-00933: SQL 命令未正确结束
    猜你喜欢
    • 2010-12-29
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 2011-01-21
    • 2017-05-12
    • 1970-01-01
    相关资源
    最近更新 更多