我在视图对象中绑定了一个变量。我正在动态更改绑定变量并执行视图对象。问题是我怀疑绑定变量使用了一些“”或“”。
我已经调试了该问题,并且还尝试打印查询。但是仍然在调试器内部,我得到了包括绑定变量在内的相同查询。
我的查询
Map<String, Function<Request, Result>> parsers = new HashMap<>();
parsers.put("additionRequest", request -> {
// parse and generate Result here
return result;
});
Result result = parsers.get(request.request_type).apply(request);
java代码 // source是一个String变量
//例如来源=“'LCC','FIN','AR','CandD','Transactions','Creator'”;
SELECT APFileHeaderEO.ACTIVE,
APFileHeaderEO.CUSTOM_HEADER,
APFileHeaderEO.ENT_BY,
APFileHeaderEO.ENT_DATE,
APFileHeaderEO.FEEDER_ID,
APFileHeaderEO.FILE_HEADER_ID,
APFileHeaderEO.FILE_NAME,
APFileHeaderEO.MODIFY_BY,
APFileHeaderEO.MODIFY_DATE,
APFileHeaderEO.NEW_FILE_NAME,
APFileHeaderEO.SOURCE_SYSTEM,
APFileHeaderEO.STATUS,
APFileHeaderEO.TOTAL_RECORD_COUNTS,
APFileHeaderEO.COMMENTS,
APFileHeaderEO.CONTROL_TOTAL,
APFileHeaderEO.ACCOUNTING_DATE,
APFileHeaderEO.GENERIC_HEADER_ID,
APFileHeaderEO.GL_DATE,
APFileHeaderEO.GROSS_TOTAL_AMOUNT,
APFileHeaderEO.INSTANCE_ID,
APFileHeaderEO.INVOICE_RECEIVED_DATE,
APFileHeaderEO.NET_TOTAL_AMOUNT,
APFileHeaderEO.NUMBEROFINVOICES,
APFileHeaderEO.SOURCE,
APFileHeaderEO.SOURCE_FILE_PRODUCE_DATE,
APFileHeaderEO.VAT_TOTAL_AMOUNT,
APFileHeaderEO.SOURCE_FILE_NAME
FROM EI_AP_FILE_HEADER APFileHeaderEO where APFileHeaderEO.source in (NVL(:source1,APFileHeaderEO.source))
答案 0 :(得分:1)
我终于找到了结果。可以使用connect by和常规表达式将其存档
SELECT APFileHeaderEO.ACTIVE,
APFileHeaderEO.CUSTOM_HEADER,
APFileHeaderEO.ENT_BY,
APFileHeaderEO.ENT_DATE,
APFileHeaderEO.FEEDER_ID,
APFileHeaderEO.FILE_HEADER_ID,
APFileHeaderEO.FILE_NAME,
APFileHeaderEO.MODIFY_BY,
APFileHeaderEO.MODIFY_DATE,
APFileHeaderEO.NEW_FILE_NAME,
APFileHeaderEO.SOURCE_SYSTEM,
APFileHeaderEO.STATUS,
APFileHeaderEO.TOTAL_RECORD_COUNTS,
APFileHeaderEO.COMMENTS,
APFileHeaderEO.CONTROL_TOTAL,
APFileHeaderEO.ACCOUNTING_DATE,
APFileHeaderEO.GENERIC_HEADER_ID,
APFileHeaderEO.GL_DATE,
APFileHeaderEO.GROSS_TOTAL_AMOUNT,
APFileHeaderEO.INSTANCE_ID,
APFileHeaderEO.INVOICE_RECEIVED_DATE,
APFileHeaderEO.NET_TOTAL_AMOUNT,
APFileHeaderEO.NUMBEROFINVOICES,
APFileHeaderEO.SOURCE,
APFileHeaderEO.SOURCE_FILE_PRODUCE_DATE,
APFileHeaderEO.VAT_TOTAL_AMOUNT,
APFileHeaderEO.SOURCE_FILE_NAME
FROM EI_AP_FILE_HEADER APFileHeaderEO where APFileHeaderEO.source in (select trim('''' from regexp_substr(:source1,'[^,]+', 1, level))
from dual
connect by
regexp_substr(:source1, '[^,]+', 1, level)
is not null);