正如我在标题中所说,我收到 ORA-00918 错误,但问题是它指向的是整个注释行。
在下面的代码中,它是用 RED 编写并以 YELLOW 突出显示的行。我什至删除了上面的一个空行,错误仍然指向注释行。如果有人看到它可能指向的地方,请告诉我。在你多次查看代码之后,你通常就不再真正看到它了。 (这是我在此网站上的第一篇文章。如果我需要包含任何其他信息,请告诉我。)
代码如下:-----
`使用 SEL_DKTS 作为
(
选择 DISTINCT -- 计数(distinct c.dscr) --DISTINCT
C.case_id、C.dscr CASE_NO_2、
TKL_CD, FNCDKTTXT150(C.case_id, dkt.dkt_id) DKT_TEXT ,
案例
当 DKT_CD = 'CRMCERTCSO' 和 FNCDKTTXT150(C.case_id, dkt.dkt_id) 时,例如“正在等待认证”
从 CSOSA 收到的记录
然后 SUBSTR(FNCDKTTXT150(C.case_id, dkt.dkt_id), 47, 5)
WHEN DKT_CD = 'CRMCERTCSO' 和 FNCDKTTXT150(C.case_id, dkt.dkt_id) 就像'记录认证
从 CSOSA 收到%'
然后 SUBSTR(FNCDKTTXT150(C.case_id, dkt.dkt_id), 39, 5)
当 DKT_CD = 'CRMCERTPSA' 和 FNCDKTTXT150(C.case_id, dkt.dkt_id) 时,如 'PENDING 认证
从 PSA 收到的记录
然后 SUBSTR(FNCDKTTXT150(C.case_id, dkt.dkt_id), 47, 3)
WHEN DKT_CD = 'CRMCERTCSO' 和 FNCDKTTXT150(C.case_id, dkt.dkt_id) 就像'记录认证
从 PSA%' 收到
然后 SUBSTR(FNCDKTTXT150(C.case_id, dkt.dkt_id), 39, 3)
当 DKT_CD = 'CRMCERTDOC' 和 FNCDKTTXT150(C.case_id, dkt.dkt_id) 时,如 'PENDING 认证
从 DOC 收到的记录
然后 SUBSTR(FNCDKTTXT150(C.case_id, dkt.dkt_id), 47, 3)
WHEN DKT_CD = 'CRMCERTCSO' 和 FNCDKTTXT150(C.case_id, dkt.dkt_id) 就像'记录认证
从 DOC%' 收到
然后 SUBSTR(FNCDKTTXT150(C.case_id, dkt.dkt_id), 39, 3)
否则“ERROR_PEND”
结束为 dkt_text_CMMNT
来自 TKL、REAL_CASE C、DKT
其中 TKL.case_id = C.case_id 且
TKL.case_id = DKT.case_id 并且
DKT.dkt_st_cd 为 NULL 并且
to_char(TKL.entry_dt, 'YYYYMMDD') >= '20180801' 且
to_char(TKL.entry_dt, 'YYYYMMDD') <= '20180831' and
(FNCDKTTXT150(C.case_id, dkt.dkt_id) 如“从%PENDING收到的记录证明”或
FNCDKTTXT150(C.case_id, dkt.dkt_id) 就像“待认证%”)并且
('CRMSEAL') 中的 TKL.tkl_cd 和
DKT.dkt_cd 类似 'CRMCERT%' )
,SEL_TKL as (
select S1.case_id, S1.CASE_NO_2, TKL.CASE_ID, TKL.SEQ, TKL.TKL_CD, TKL.ENTRY_DT, TKL.COMPLETION_DT,
fnctklTxt500(TKL.CASE_ID, TKL.SEQ) TKL_CMNT, S1.DKT_TEXT_CMMNT
from SEL_DKTS S1, TKL
where
S1.case_id = TKL.case_id and
TKL.tkl_cd = 'CRMSEAL' )
/* ********************************************************************** */
/* ********************* CONNECT PIECES TOGETHER *********************** */
/* ********************************************************************** */ *<----line with error*
SELECT DISTINCT
S1.case_id,
S1.CASE_NO_2,
S2.TKL_CD, S2.ENTRY_DT,
S1.DKT_TEXT_CMMNT,
S1.dkt_text
FROM SEL_DKTS S1, SEL_TKL S2
WHERE S1.case_id = S2.case_id
ORDER BY S1.case_no_2`
我发现我对代码的所有仔细格式化都因行太长而丢失了。抱歉,这只是 CASE 语句的详细信息,我认为这不会影响错误消息。