[發(fā)明專利]一種表結(jié)構(gòu)上下文的快速生成方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 202010695237.1 | 申請日: | 2020-07-19 |
| 公開(公告)號: | CN112000661B | 公開(公告)日: | 2022-06-21 |
| 發(fā)明(設(shè)計)人: | 朱滕波 | 申請(專利權(quán))人: | 浪潮電子信息產(chǎn)業(yè)股份有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22 |
| 代理公司: | 濟南誠智商標(biāo)專利事務(wù)所有限公司 37105 | 代理人: | 李修杰 |
| 地址: | 250101 山東省濟南*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 結(jié)構(gòu) 上下文 快速 生成 方法 系統(tǒng) | ||
1.一種表結(jié)構(gòu)上下文的快速生成方法,其特征在于,所述方法包括以下操作:
在數(shù)據(jù)庫系統(tǒng)表中獲取所有的表名和字段名,并存入以數(shù)據(jù)庫名+用戶名命名的本地文件中,形成表結(jié)構(gòu)文件,并通過關(guān)鍵字分行存儲表名和字段名;
在編寫sql語句時,根據(jù)當(dāng)前數(shù)據(jù)庫名以及用戶名定位到對應(yīng)的本地表結(jié)構(gòu)文件中;
根據(jù)當(dāng)前sql的內(nèi)容、from/where關(guān)鍵字位置以及光標(biāo)位置判斷當(dāng)前輸入的是表名還是字段名,具體為:
獲取當(dāng)前編寫sql語句中select/from/where關(guān)鍵字位置以及光標(biāo)位置,如果光標(biāo)位置在select和from之間或光標(biāo)在where之后,則判斷當(dāng)前輸入的是字段名;如果光標(biāo)位置在from和where之間或光標(biāo)位置在from之后且沒有where關(guān)鍵字,則判斷當(dāng)前輸入的是表名;
如果當(dāng)前輸入的是表名,則在表結(jié)構(gòu)文件中根據(jù)關(guān)鍵字查詢所有表名,并根據(jù)光標(biāo)當(dāng)前輸入的內(nèi)容,對獲取的各表表名進行過濾,將包含輸入內(nèi)容的表名輸出到上下文中;如果當(dāng)前輸入的是字段名,根據(jù)from/where關(guān)鍵字找到當(dāng)前編寫sql的表名,在表結(jié)構(gòu)文件中根據(jù)關(guān)鍵字查詢該表名下的所有字段名,根據(jù)光標(biāo)當(dāng)前輸入的內(nèi)容,對獲取的表中字段名進行過濾,將包含輸入內(nèi)容的字段名輸出到上下文中。
2.根據(jù)權(quán)利要求1所述的一種表結(jié)構(gòu)上下文的快速生成方法,其特征在于,所述表結(jié)構(gòu)文件的具體結(jié)構(gòu)為:
各表表名保存為一行,以關(guān)鍵字table開頭;
每個表的字段名保存成一行,前面以關(guān)鍵字表名開頭。
3.根據(jù)權(quán)利要求1所述的一種表結(jié)構(gòu)上下文的快速生成方法,其特征在于,當(dāng)前輸入的為表名時,所述在表結(jié)構(gòu)文件中根據(jù)關(guān)鍵字查詢所有表名中的關(guān)鍵字為table;
當(dāng)前輸入的為字段名時,所述在表結(jié)構(gòu)文件中根據(jù)關(guān)鍵字查詢該表名下的所有字段名中的關(guān)鍵字為表名。
4.一種表結(jié)構(gòu)上下文的快速生成系統(tǒng),其特征在于,所述系統(tǒng)包括:
表結(jié)構(gòu)文件生成模塊,用于在數(shù)據(jù)庫系統(tǒng)表中獲取所有的表名和字段名,并存入以數(shù)據(jù)庫名+用戶名命名的本地文件中,形成表結(jié)構(gòu)文件,并通過關(guān)鍵字分行存儲表名和字段名;
表結(jié)構(gòu)文件連接模塊,用于在編寫sql語句時,根據(jù)當(dāng)前數(shù)據(jù)庫名以及用戶名定位到對應(yīng)的本地表結(jié)構(gòu)文件中;
當(dāng)前輸入類型判斷模塊,用于根據(jù)當(dāng)前sql的內(nèi)容、from/where關(guān)鍵字位置以及光標(biāo)位置判斷當(dāng)前輸入的是表名還是字段名;
輸入上下文生成模塊,用于如果當(dāng)前輸入的是表名,則在表結(jié)構(gòu)文件中根據(jù)關(guān)鍵字查詢所有表名,并根據(jù)光標(biāo)當(dāng)前輸入的內(nèi)容,對獲取的各表表名進行過濾,將包含輸入內(nèi)容的表名輸出到上下文中;如果當(dāng)前輸入的是字段名,根據(jù)from/where關(guān)鍵字找到當(dāng)前編寫sql的表名,在表結(jié)構(gòu)文件中根據(jù)關(guān)鍵字查詢該表名下的所有字段名,根據(jù)光標(biāo)當(dāng)前輸入的內(nèi)容,對獲取的表中字段名進行過濾,將包含輸入內(nèi)容的字段名輸出到上下文中。
5.根據(jù)權(quán)利要求4所述的一種表結(jié)構(gòu)上下文的快速生成系統(tǒng),其特征在于,所述表結(jié)構(gòu)文件的具體結(jié)構(gòu)為:
各表表名保存為一行,以關(guān)鍵字table開頭;
每個表的字段名保存成一行,前面以關(guān)鍵字表名開頭。
6.一種表結(jié)構(gòu)上下文的快速生成設(shè)備,其特征在于,包括:
存儲器,用于存儲計算機程序;
處理器,用于執(zhí)行所述計算機程序,以實現(xiàn)根據(jù)權(quán)利要求1-3任意一項所述的表結(jié)構(gòu)上下文的快速生成方法。
7.一種可讀存儲介質(zhì),其特征在于,用于保存計算機程序,其中,所述計算機程序被處理器執(zhí)行時實現(xiàn)根據(jù)權(quán)利要求1-3任意一項所述的表結(jié)構(gòu)上下文的快速生成方法。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮電子信息產(chǎn)業(yè)股份有限公司,未經(jīng)浪潮電子信息產(chǎn)業(yè)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010695237.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 卡片結(jié)構(gòu)、插座結(jié)構(gòu)及其組合結(jié)構(gòu)
- 鋼結(jié)構(gòu)平臺結(jié)構(gòu)
- 鋼結(jié)構(gòu)支撐結(jié)構(gòu)
- 鋼結(jié)構(gòu)支撐結(jié)構(gòu)
- 單元結(jié)構(gòu)、結(jié)構(gòu)部件和夾層結(jié)構(gòu)
- 鋼結(jié)構(gòu)扶梯結(jié)構(gòu)
- 鋼結(jié)構(gòu)隔墻結(jié)構(gòu)
- 鋼結(jié)構(gòu)連接結(jié)構(gòu)
- 螺紋結(jié)構(gòu)、螺孔結(jié)構(gòu)、機械結(jié)構(gòu)和光學(xué)結(jié)構(gòu)
- 螺紋結(jié)構(gòu)、螺孔結(jié)構(gòu)、機械結(jié)構(gòu)和光學(xué)結(jié)構(gòu)





