【发布时间】:2015-12-26 22:16:53
【问题描述】:
我创建了一个简单的 ODI 接口,该接口将从平面文件中读取并插入到 Oracle 表中。但是,当我执行界面时,它在给出错误消息的步骤之一中失败:ORA-00936:缺少表达式
这一步生成的代码是:-
/* DETECTION_STRATEGY = NOT_EXISTS */
insert /*+ append */ into ODI_STAGE.I$_CSV_TEST
(
FIRSTNAME,
LASTNAME,
IND_UPDATE
)
select
FIRSTNAME,
LASTNAME,
IND_UPDATE
from (
select
C1_FIRSTNAME FIRSTNAME,
C2_LASTNAME LASTNAME,
'I' IND_UPDATE
from ODI_STAGE.C$_0CSV_TEST
where (1=1)
) S
where NOT EXISTS
( select 1 from ODI_STAGE.CSV_TEST T
where
and ((T.FIRSTNAME = S.FIRSTNAME) or (T.FIRSTNAME IS NULL and S.FIRSTNAME IS NULL)) and
((T.LASTNAME = S.LASTNAME) or (T.LASTNAME IS NULL and S.LASTNAME IS NULL))
)
有人可以建议这个查询有什么问题吗?因为我没有看到任何语法问题。
【问题讨论】:
-
where and在没有中间表达式的情况下是无效语法 -
哦对了!!!我怎么会错过呢?但是知道 ODI 是如何生成这样的代码的吗?
标签: sql oracle oracle-data-integrator