1 .一种数据库操作语句的处理方法,包括:
获取所述数据库操作语句;
判断所述数据库操作语句的条件语句中是否存在或逻辑关键词和记录存在判定关键
词;
若是,则判断所述记录存在判定关键词对应的子连接中的子连接查询表是否为空表;
在所述子连接查询表不是空表且所述数据库操作语句符合预设的转换条件的情况下,
根据所述记录存在判定关键词和所述或逻辑关键词的位置确定对应的自定义关键词,所述
预设的转换条件为保留所述数据库操作语句中所述记录存在判定关键词及其子连接并去
除所述或逻辑关键词对应的另一独立条件后的剩余语句符合半连接转换条件;
将所述数据库操作语句根据所述自定义关键词进行转换,并根据所述自定义关键词对
应的执行逻辑处理转换后的数据库操作语句。
2 .根据权利要求1所述的数据库操作语句的处理方法,其中,
所述或逻辑关键词的位置包括第一位置和第二位置,所述第一位置为所述记录存在判
定关键词为所述或逻辑关键词连接的条件之一,所述第二位置为所述或逻辑关键词位于所
述记录存在判定关键词对应的子连接内部。
3 .根据权利要求2所述的数据库操作语句的处理方法,其中,
所述记录存在判定关键词包括:exists;
所述根据所述记录存在判定关键词和所述或逻辑关键词的位置确定对应的自定义关
键词的步骤包括:在所述记录存在判定关键词为exists且所述或逻辑关键词的位置为所述
第一位置或所述第二位置的情况下,确定所述自定义关键词为第一自定义关键词,所述第
一自定义关键词对应的处理逻辑为半连接;
所述将所述数据库操作语句根据所述自定义关键词进行转换的步骤包括:在所述记录
存在判定关键词为exists且所述或逻辑关键词的位置为所述第一位置或所述第二位置的
情况下,将所述或逻辑关键词对应的所述独立条件存储至所述第一自定义关键词中,并对
剩余语句进行半连接转换;
所述根据所述自定义关键词对应的执行逻辑处理转换后的数据库操作语句的步骤包
括:获取所述转换后的数据库操作语句中的数据源;逐一判断所述数据源中的元组是否满
足所述第一自定义关键词中存储的所述独立条件,并得到判断结果;在所述判断结果显示
为true的情况下,返回所述元组;在所述判断结果显示为false的情况下,将所述元组的数
据按照所述第一自定义关键词中的所述半连接逻辑进行处理,并返回处理结果;在所述判
断结果显示为null的情况下,舍弃当前元组,处理下一元组。
4 .根据权利要求3所述的数据库操作语句的处理方法,其中,
所述判断所述数据库操作语句的条件语句中是否存在或逻辑关键词和记录存在判定
关键词的步骤之后还包括:
在所述数据库操作语句中不存在记录存在判定关键词的情况下,判断所述数据库操作
语句的条件语句中是否存在或逻辑关键词和多值匹配关键词,所述多值匹配关键词包括:
any、some;
在所述数据库操作语句中存在或逻辑关键词并且还包含任一多值匹配关键词的情况
下,将所述子连接等价转换为exists对应的子连接;
权 利 要 求 书
1/3 页
2
评论