Oracle

SQL80001 - ‘)’ 附近的語法不正確

  • February 13, 2018

在下面的程式碼(我繼承的)中,我收到消息“SQL80001 - ‘)’ 附近的語法不正確”,錯誤位於底部第三行,帶有 + 號。我已經看過類似問題的THIS SO answer,但這不是這裡的問題。

select
b.batch_id,
b.submitted_dt,
b.batch_nm,
b.paused_cd,
b.job_cnt,
b.start_dt,
b.finish_dt,
m.module_nm,
m.module_id,
mc.hostname
from
   tbl_bat_chess b,
   tbl_job_bobs j,
   tbl_man_holes m,
   tbl_monkey_cokes mc
where
b.finish_dt is null
and  to_char(b.submitted_dt, 'DD-MON-YYYY') = to_char(sysdate, 'DD-MON-YYYY')
and  (to_number(sysdate - b.submitted_dt) * 1440)  >  5 -- 5 minutes
and b.batch_id = j.batch_id
and b.batch_nm like '%EXAMPLE%'
and j.module_id = m.module_id
and m.proc_group_id not in (10, 18)
and j.machine_id = mc.machine_id (+)
group by b.batch_id, b.submitted_dt, b.batch_nm, b.paused_cd, b.job_cnt, b.start_dt, b.finish_dt, m.module_nm, m.module_id, mc.hostname
order by submitted_dt desc

DBMS: PLSQL 開發人員 10.05。

甲骨文版本: 11g

我已經手動刪除了所有不間斷的空格,並嘗試在 mc.machine_id 行周圍放置方括號,但沒有成功。這應該如何解決?

SQL80001是一條 SQL Server 錯誤消息。SQL Server 不支持(+)用於外部聯接的舊 Oracle 語法。

使用LEFT/RIGHT OUTER JOIN .... ON .....

引用自:https://dba.stackexchange.com/questions/119561