The invention relates to a SQL execution method, device, computer equipment and storage medium for logical deletion, and is applied to the technical field of database. The method comprises acquiring the SQL statement to be executed and identifying the operation type of the SQL statement to be executed; identifying the logical deletion field in the data table for which the SQL statement is to be executed according to the preset logical deletion flag in the entity class when the operation type is deletion, update or query; and identifying the entity class and the number thereof. There is a mapping relationship between the tables; the corresponding SQL operation conditions are generated according to the logical deletion fields, the SQL statements to be executed are updated according to the SQL operation conditions, and the updated SQL statements are executed. The embodiment of the invention solves the problem of inaccurate execution result of SQL with logical deletion and simplifies user operation.
【技术实现步骤摘要】
对逻辑删除的SQL执行方法、装置、计算机设备和存储介质
本专利技术涉及数据库
,特别是涉及基于逻辑删除的SQL(StructuredQueryLanguage,结构化查询语言,简称SQL)执行方法、装置、计算机设备和存储介质。
技术介绍
逻辑删除指的是,不真正的在数据库上执行delete操作删除数据,而是把数据的某个字段置为一个标记。同时,在数据库表里面针对该数据设置一个用于表示逻辑删除的字段(例如is_delete),如果该字段为1则表示数据被逻辑删除,如果该字段为0则表示数据未被逻辑删除。在实现本专利技术的过程中,专利技术人发现现有技术中存在如下问题:在数据被用户逻辑删除之后,使用传统的SQL语句,将难以排除该数据,导致SQL执行结果无法满足要求。
技术实现思路
基于此,有必要针对现有方式对逻辑删除的SQL执行结果不准确的问题,提供一种对逻辑删除的SQL执行方法、装置、计算机设备和存储介质。本专利技术实施例提供的方案包括:一种对逻辑删除的SQL执行方法,包括:获取待执行SQL语句,识别所述待执行SQL语句的操作类型;当所述操作类型为删除、更新或者查询时,根据实体类中预设的逻辑删除标志,识别待执行SQL语句针对的数据表中的逻辑删除字段;所述实体类与所述数据表之间有映射关系;根据所述逻辑删除字段生成对应的SQL操作条件,根据所述SQL操作条件更新所述待执行SQL语句,执行更新得到的SQL语句。在其中一个实施例中,根据实体类中预设的逻辑删除标志,识别待执行SQL语句针对的数据表中的逻辑删除字段的步骤包括:确定所述待执行SQL语句对应的实体类;检测所述实体类 ...
【技术保护点】
1.一种对逻辑删除的SQL执行方法,其特征在于,包括:获取待执行SQL语句,识别所述待执行SQL语句的操作类型;当所述操作类型为删除、更新或者查询时,根据实体类中预设的逻辑删除标志,识别待执行SQL语句针对的数据表中的逻辑删除字段;所述实体类与所述数据表之间有映射关系;根据所述逻辑删除字段生成对应的SQL操作条件,根据所述SQL操作条件更新所述待执行SQL语句,执行更新得到的SQL语句。
【技术特征摘要】
1.一种对逻辑删除的SQL执行方法,其特征在于,包括:获取待执行SQL语句,识别所述待执行SQL语句的操作类型;当所述操作类型为删除、更新或者查询时,根据实体类中预设的逻辑删除标志,识别待执行SQL语句针对的数据表中的逻辑删除字段;所述实体类与所述数据表之间有映射关系;根据所述逻辑删除字段生成对应的SQL操作条件,根据所述SQL操作条件更新所述待执行SQL语句,执行更新得到的SQL语句。2.根据权利要求1所述的对逻辑删除的SQL执行方法,其特征在于,根据实体类中预设的逻辑删除标志,识别待执行SQL语句针对的数据表中的逻辑删除字段的步骤包括:确定所述待执行SQL语句对应的实体类;检测所述实体类中预设的逻辑删除标志,根据逻辑删除标志识别数据表中的逻辑删除字段。3.根据权利要求2所述的对逻辑删除的SQL执行方法,其特征在于,还包括:若检测到所述实体类中不包含预设的逻辑删除标志,执行所述待执行SQL语句;和/或,在确定所述待执行SQL语句的操作类型的步骤之后,还包括:当待执行SQL语句的操作类型为新增操作类型时,执行所述待执行SQL语句。4.根据权利要求2所述的对逻辑删除的SQL执行方法,其特征在于,确定所述待执行SQL语句对应的实体类的步骤包括:根据预设的SQL解析器对所述待执行SQL语句进行解析,得到所述待执行SQL语句对应的语法树;遍历所述语法树的FROM节点和/或FROM节点的叶子节点,确定待执行SQL语句针对的数据表;根据实体类与数据表的映射关系,得到所述数据表对应的实体类,确定为所述待执行SQL语句对应的实体类。5.根据权利要求2所述的对逻辑删除的SQL执行方法,其特征在于,根据逻辑删除标志识别所述数据表中的逻辑删除字段的步骤包括:确定实体类中逻辑删除标志所指向的属性,根据实体类中属性与数据表中字段的映射关系,得到所述属性对应的字段,作为逻辑删除字段。6.根据权利要求1至5任一所述的对逻辑删除的SQL执行方法,其特征在于,根据所述逻辑删除字段生成对应的SQL操作条件,根据所述SQL操作条件更新...
【专利技术属性】
技术研发人员:林锡鑫,
申请(专利权)人:广州视源电子科技股份有限公司,广州视睿电子科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。