利索能及
我要发布
收藏
专利号: 2019108820798
申请人: 平安科技(深圳)有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种SQL代码信息显示方法,其特征在于,所述方法包括:

获取SQL代码;

检测所述SQL代码的语法、语义、入参方式是否正确,其中,检测所述SQL代码的入参方式是否正确包括:识别所述SQL代码中的占位符;判断所述SQL代码中的占位符与所述SQL代码对应的持久层框架对应的预设占位符是否一致;

若所述SQL代码的语法、语义、入参方式正确,检测是否接收到从所述SQL代码中指定目标代码的操作指令,若接收到所述操作指令,在所述SQL代码中检索所述目标代码之前的第一预设关键字和所述目标代码之后的第二预设关键字;

根据所述第一预设关键字和所述第二预设关键字判断所述目标代码是否为SQL字段、SQL参数、SQL变量或SQL游标,包括:判断所述第一预设关键字与所述第二预设关键字的关键字组合是否与按照SQL语法规则定义的第二预设关键字组合相匹配;若所述第一预设关键字与所述第二预设关键字的关键字组合与所述第二预设关键字组合相匹配,则根据所述第一预设关键字与所述第二预设关键字的关键字组合的类型判断所述SQL代码中所述目标代码是否为SQL字段、SQL参数、SQL变量或SQL游标;若所述第一预设关键字与所述第二预设关键字的关键字组合与所述第二预设关键字组合不匹配,则根据所述第一预设关键字的类型判断所述SQL代码中所述目标代码是否为SQL字段、SQL参数、SQL变量或SQL游标;

若所述目标代码为SQL字段,则在所述SQL代码对应的数据库中查询所述目标代码的SQL字段信息,显示所述SQL字段信息;

若所述目标代码为SQL参数、SQL变量或SQL游标,则在所述SQL代码中检索包含所述目标代码的SQL代码行,显示所述SQL代码行。

2.如权利要求1所述的方法,其特征在于,检测所述SQL代码的语法是否正确包括:对于所述SQL代码中的每条SQL语句,识别所述SQL语句中所有的关键字;

将所述关键字按照出现顺序组合,得到所述SQL语句的关键字组合;

判断所述关键字组合与按照SQL语法规则定义的第一预设关键字组合是否匹配。

3.如权利要求1所述的方法,其特征在于,检测所述SQL代码的语义是否正确包括:根据所述数据库的配置信息连接所述数据库;

获取所述数据库中的数据库表或所述数据库表中的数据列;

判断所述SQL代码中的SQL字段是否包含在所述数据库表或所述数据列中。

4.如权利要求1所述的方法,其特征在于,所述检测所述SQL代码的入参方式是否正确还包括:若所述SQL代码中的占位符与所述持久层框架对应的预设占位符一致,判断所述SQL代码中的占位符的位置与所述持久层框架对应的预设占位符的位置是否一致。

5.如权利要求1‑4中任一项所述的方法,其特征在于,所述方法还包括:若所述SQL代码的语法正确,检测所述SQL代码中是否包含预警关键字;

若所述SQL代码中包含所述预警关键字,则进行报警。

6.一种SQL代码信息显示装置,其特征在于,所述装置包括用于实现如权利要求1至5中任意一项所述的SQL代码信息显示方法的模块,所述装置包括:获取模块,用于获取SQL代码;

检测模块,用于检测所述SQL代码的语法、语义、入参方式是否正确;

检索模块,用于若所述SQL代码的语法、语义、入参方式正确,检测是否接收到从所述SQL代码中指定目标代码的操作指令,若接收到所述操作指令,在所述SQL代码中检索所述目标代码之前的第一预设关键字和所述目标代码之后的第二预设关键字;

判断模块,用于根据所述第一预设关键字和所述第二预设关键字判断所述目标代码是否为SQL字段、SQL参数、SQL变量或SQL游标;

第一显示模块,用于若所述目标代码为SQL字段,则在所述SQL代码对应的数据库中查询所述目标代码的SQL字段信息,显示所述SQL字段信息;

第二显示模块,用于若所述目标代码为SQL参数、SQL变量或SQL游标,则在所述SQL代码中检索包含所述目标代码的SQL代码行,显示所述SQL代码行。

7.一种计算机装置,其特征在于,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1‑5中任一项所述SQL代码信息显示方法。

8.一种计算机存储介质,所述计算机存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1‑5中任一项所述SQL代码信息显示方法。