我有一个查询,该查询将需要连续运行28000次,因此我认为使用prepareStatement可能是一个聪明的主意。
这是我的查询:
String requestWithFirstName = "SELECT SE.ELEMENT_ID, SE.LASTNAME||' '||SE.FIRSTNAME AS ELEMENT, (SCORE(1)+SCORE(2))/2 AS SCORE "
+ "FROM BL_SUSPICIOUS_ELEMENT SE "
+ "WHERE CONTAINS(SE.LASTNAME, 'fuzzy({' || ? || '},' || ? || ',' || ? || ', weight)' , 1)>0 "
+ "AND CONTAINS(SE.FIRSTNAME, 'fuzzy({' || ? || '},' || ? || ',' || ? || ', weight)' , 2)>0 "
+ (type > 0 ? "AND SE.ELEMENT_TYPE_ID = ?" : "")
+ " ORDER BY SCORE DESC";
一切工作都很好,直到我们意识到模糊方法对像“皮卡丘是我的英雄”之类的分裂单词效果不佳,建议在这种情况下创建4个模糊搜索“皮卡丘”,“是”,“我”,“英雄’。不知道这是否是正确的,但是由于我将运行查询28
000次,因此这是一个很好的机会来查看它的运行情况。
所以我试图以这种方式修改查询:
"SELECT A.ELEMENT_ID, A.LASTNAME||' '||A.FIRSTNAME AS AKA, SCORE(1) AS SCORE "
+ "FROM BL_AKA A, BL_SUSPICIOUS_ELEMENT SE "
+ "WHERE CONTAINS(A.LASTNAME, ?, 1)>0 "
+ "AND SE.ELEMENT_ID = A.ELEMENT_ID "
+ (type > 0 ? "AND SE.ELEMENT_TYPE_ID = ?": "")
+ " ORDER BY SCORE DESC";
在这种情况下, ?将设置为:
‘fuzzy({Burnham},70,4,weight),fuzzy({Investors},70,4,weight),fuzzy({Trust},70,4,weight)’
该查询似乎很好,在sql dev上运行。但是,使用Java时,出现以下错误:
ORA-20000:Oracle Text的错误:DRG-50900:文本第1行查询解析器错误,柱30
DRG-50920:短语本身不是一个短语或等价的部分
在第1行的文本查询解析器误差,列30:DRG-50900
DRG -50920:词组的一部分本身不是词组或对等物
有什么建议吗?我想知道这是否与in语句相同(不可能从pokemon中创建一个select *,其中(?)中的怪物)
谢谢 !
在Java中使用预处理语句时,它将根据您使用的方法设置参数。所以
String s = "'fuzzy({Burnham},70,4,weight),fuzzy({Investors},70,4,weight),fuzzy({Trust},70,4,weight)'";
statement.setString(s);
将再次被转义并导致:
'''fuzzy({Burnham},70,4,weight),fuzzy({Investors},70,4,weight),fuzzy({Trust},70,4,weight)'''
尝试设置不带引号的参数。
您可以创建一个IN (?)
语句。但是您将必须为每个参数添加一个问号:WHERE monster IN (?,?,?,?,?,?)
…
我正在Flask中构建一个web应用程序,它涉及到一些SQLAlchemy。我有一个函数“get_team()”让我发疯。 我一直得到的错误:"属性错误:'Unicode'对象没有属性'_sa_instance_state'"。以下是模型的样子: 任何方向都将不胜感激!
我有一个搜索查询,它必须使用包含搜索搜索表中的一列。列上有CTXSYS.Context类型索引。当使用prepared语句在表中获取数据时,搜索查询不能处理像-、/、_等特殊字符。
我尝试获取标题中包含一些单词的链接,但不包含一些单词,我使用以下代码,但它表示这不是有效的XPath表达式。 请在此处找到我的代码: 任何帮助将不胜感激!
我有以下 sql 变量: 我配置了一个名为@p1的SQL参数和一个有效的字符串,即“foo”,并使用以下内容将其添加到SqlParameterCollection集合变量中: 然后调用以下查询。 我得到以下错误: 留言:微软。azure . documents . documents client exception:Message:{ " errors ":[{ " severity ":" E
我尝试这样做查询: 但它返回: “Status”:400,“DisplayName”:“BadRequest”,“Message”:“SearchPhaseExecutionException[未能执行阶段[query],所有碎片失败;shardFailures{[PzLsLPHfTMu68AQ94_Af8g][gyms][0]:SearchParseException[[gyms][0]:Fro
我一直在为selenium Xpath定位器使用Contains函数。到目前为止,这个功能一直有效。它目前不适用于表中的TD元素。我正在向函数发送正确的文本,所以我不明白为什么。 在Chrome上,转到此处:https://rcpsc.releasecandidate-community360qa.net/login.aspx?action=enablelogin 登录:mj4/test 向下滚动