[發明專利]SQL語句的比對方法、裝置、終端設備和存儲介質在審
| 申請號: | 202111362575.4 | 申請日: | 2021-11-17 |
| 公開(公告)號: | CN114064692A | 公開(公告)日: | 2022-02-18 |
| 發明(設計)人: | 劉祎 | 申請(專利權)人: | 平安付科技服務有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242;G06F16/335 |
| 代理公司: | 深圳中一聯合知識產權代理有限公司 44414 | 代理人: | 姚澤鑫 |
| 地址: | 518000 廣東省深圳市福田區福田*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | sql 語句 方法 裝置 終端設備 存儲 介質 | ||
1.一種SQL語句的比對方法,其特征在于,包括:
獲取待比對的源SQL語句和目標SQL語句;
將所述源SQL語句轉換為第一類對象,以及將所述目標SQL語句轉換為第二類對象;
對所述第一類對象和所述第二類對象按照相同方式調整類對象中包含的可交換排序字段的排序,得到更新的所述第一類對象和更新的所述第二類對象,所述可交換排序字段指交換其在SQL語句中的排序后對SQL語句的執行結果無影響的字段;
將更新的所述第一類對象轉換為第一SQL語句,以及將更新的所述第二類對象轉換為第二SQL語句;
對所述第一SQL語句和所述第二SQL語句執行文本匹配處理,得到文本匹配結果;
根據所述文本匹配結果確定所述源SQL語句和所述目標SQL語句是否一致。
2.如權利要求1所述的方法,其特征在于,在將所述源SQL語句轉換為第一類對象,以及將所述目標SQL語句轉換為第二類對象之后,還包括:
判斷所述第一類對象的實現類和所述第二類對象的實現類是否相同;
若所述第一類對象的實現類和所述第二類對象的實現類不同,則確定所述源SQL語句和所述目標SQL語句不一致;
若所述第一類對象的實現類和所述第二類對象的實現類相同,則執行對所述第一類對象和所述第二類對象按照相同方式調整類對象中包含的可交換排序字段的排序的步驟以及后續步驟。
3.如權利要求1所述的方法,其特征在于,所述對所述第一類對象和所述第二類對象按照相同方式調整類對象中包含的可交換排序字段的排序,包括:
檢測所述第一類對象包含的第一目標表達式,以及檢測所述第二類對象包含的第二目標表達式,所述第一目標表達式和所述第二目標表達式為包含前后兩部分字段且交換前后兩部分字段的排序對執行結果無影響的表達式;
對所述第一目標表達式和所述第二目標表達式按照相同的順序調整表達式中包含的兩部分字段的排序。
4.如權利要求1所述的方法,其特征在于,所述對所述第一類對象和所述第二類對象按照相同方式調整類對象中包含的可交換排序字段的排序,包括:
檢測所述第一類對象包含的列名稱字段和表名稱字段,以及檢測所述第二類對象包含的列名稱字段和表名稱字段;
對所述第一類對象包含的列名稱字段和表名稱字段,以及所述第二類對象包含的列名稱字段和表名稱字段,按照相同的排序方式調整排序。
5.如權利要求1所述的方法,其特征在于,在將所述源SQL語句轉換為第一類對象,以及將所述目標SQL語句轉換為第二類對象之后,還包括:
檢測所述第一類對象包含的列名稱字段和表名稱字段,以及檢測所述第二類對象包含的列名稱字段和表名稱字段;
刪除所述第一類對象包含的列名稱字段和表名稱字段中的別名,以及刪除所述第二類對象包含的列名稱字段和表名稱字段中的別名。
6.如權利要求1所述的方法,其特征在于,在對所述第一SQL語句和所述第二SQL語句執行文本匹配處理,得到文本匹配結果之后,還包括:
若所述文本匹配結果不一致,則獲取所述第一SQL語句和所述第二SQL語句之間的文本區別點;
對所述第一SQL語句包含的各個所述文本區別點按照對應的類型進行標注。
7.如權利要求1至6中任一項所述的方法,其特征在于,所述將所述源SQL語句轉換為第一類對象,以及將所述目標SQL語句轉換為第二類對象,包括:
使用JSqlParser工具將所述源SQL語句轉換為第一Statement對象,以及將所述目標SQL語句轉換為第二Statement對象。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于平安付科技服務有限公司,未經平安付科技服務有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111362575.4/1.html,轉載請聲明來源鉆瓜專利網。





