Warm tip: This article is reproduced from serverfault.com, please click

其他-ORA 00933:SQL命令在Oracle中用IN运算符未正确结束

(其他 - ORA 00933 : SQL Command not properly ended with IN operator in oracle)

发布于 2020-12-01 07:45:02

我正在尝试执行如下查询

更新L2l_Lov_Master设置QUERY_STRING ='com.jmr.profitto.los.app.retail.model.L2LLdmLeadinformation实体WHERE entity.status IN('NEW','REJECTED','REJECTED_BY_CUSTOMER')'其中LOV_ID ='customerLov-leadcode';

我正在使用oracle DB,并且收到“ ORA 00933:SQL命令未正确结束”的信息。需要知道哪里出了问题

Questioner
FIFA oneterahertz
Viewed
11
670k 2020-12-02 01:14:56

据我所知,你的问题与引号->更明确,你的IN子句启动时出现问题,因为你关闭了查询字符串中的第一个引号

query_string = 'com.jmr.profitto.los.app.retail.model.L2LLdmLeadinformation entity WHERE entity.status IN ('

我认为你需要封装该IN子句中的引号,以使它们在第一个查询中被忽略。

UPDATE l2l_lov_master
SET
    query_string = 'com.jmr.profitto.los.app.retail.model.L2LLdmLeadinformation entity WHERE entity.status IN (''
new '','' rejected '','' rejected_by_customer '')'
WHERE
    lov_id = 'customerLov-leadcode';