[發(fā)明專利]一種通過用戶配置生成子查詢的方法與裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201310701518.3 | 申請(qǐng)日: | 2013-12-18 |
| 公開(公告)號(hào): | CN103646096B | 公開(公告)日: | 2017-01-18 |
| 發(fā)明(設(shè)計(jì))人: | 高鐵牛 | 申請(qǐng)(專利權(quán))人: | 用友網(wǎng)絡(luò)科技股份有限公司 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30;G06F17/24 |
| 代理公司: | 北京中恒高博知識(shí)產(chǎn)權(quán)代理有限公司11249 | 代理人: | 劉洪京 |
| 地址: | 100094 北京*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 通過 用戶 配置 生成 查詢 方法 裝置 | ||
1.一種通過用戶配置生成子查詢的方法,其特征在于:
步驟201,開始;
步驟202,選擇待分列字段所在數(shù)據(jù)庫表;
步驟203,判斷條件判斷字段和待分列字段是否都位于同一數(shù)據(jù)庫表;
如果判斷為否,繼續(xù)執(zhí)行步驟204;
步驟204,選擇判斷字段所在數(shù)據(jù)庫表;
步驟205,設(shè)置連接關(guān)系,所述連接關(guān)系為將一張表的一行與另一張表的一行或多行關(guān)聯(lián)起來所需滿足的條件;
步驟206,設(shè)置過濾條件,所述過濾條件為篩選數(shù)據(jù)的表達(dá)式;
步驟207,設(shè)置條件分列明細(xì);
步驟208,輸出所生成的子查詢;
步驟209,結(jié)束。
2.如權(quán)利要求1所述的方法,其特征在于:
在步驟203中,如果判斷的結(jié)果為是,則直接跳轉(zhuǎn)執(zhí)行步驟206。
3.如權(quán)利要求1或2所述的方法,其特征在于:
所述步驟202,選擇待分列字段所在數(shù)據(jù)庫表;步驟203,判斷條件判斷字段和待分列字段是否都位于同一數(shù)據(jù)庫表;如果判斷為否,繼續(xù)執(zhí)行步驟204;步驟204,選擇判斷字段所在數(shù)據(jù)庫表;進(jìn)一步包括,
步驟302,通過查詢數(shù)據(jù)庫數(shù)據(jù)字典,獲取數(shù)據(jù)庫系統(tǒng)業(yè)務(wù)表信息供選擇;
步驟303,獲取選擇設(shè)置信息;
步驟304,判斷選擇的表是否待分列字段所在表;
如果步驟304中判斷結(jié)果為“是”,則執(zhí)行步驟305,將選擇的表標(biāo)記為主表;
如果步驟304中判斷結(jié)果為“否”,則執(zhí)行步驟306,將選擇的表標(biāo)記為子表;
步驟307,判斷是否選擇完成;
如果步驟307中判斷結(jié)果為“否”,將會(huì)跳轉(zhuǎn)到步驟302繼續(xù)選擇;
如果步驟307中判斷結(jié)果為“是”,則執(zhí)行步驟308,判斷是否有且只有一張主表;
如果步驟308中判斷結(jié)果為“是”,則執(zhí)行步驟309,拼接生成子查詢sql的from部分;?
如果步驟308中判斷結(jié)果為“否”,則執(zhí)行步驟310,刪除選擇的多余主表,跳轉(zhuǎn)回步驟307;
步驟311,判斷是否含有子表;
如果步驟311中判斷結(jié)果為“是”,則執(zhí)行步驟312。
4.如權(quán)利要求3所述的方法,其特征在于:
所述步驟205設(shè)置連接關(guān)系,所述連接關(guān)系為將一張表的一行與另一張表的一行或多行關(guān)聯(lián)起來所需滿足的條件,進(jìn)一步包括
步驟312,轉(zhuǎn)到連接關(guān)系設(shè)置;
步驟313,獲取連接關(guān)系;
步驟314,判斷是否設(shè)置完成;
如果步驟314中判斷結(jié)果為“否”,則跳轉(zhuǎn)回步驟312繼續(xù)設(shè)置;
如果步驟314中判斷結(jié)果為“是”,則執(zhí)行步驟315。
5.如權(quán)利要求4所述的方法,其特征在于:
所述步驟206,設(shè)置過濾條件,所述過濾條件為篩選數(shù)據(jù)的表達(dá)式,進(jìn)一步包括,
步驟315,進(jìn)行過濾條件設(shè)置;
步驟316,獲取過濾條件;
步驟317,判斷是否設(shè)置完成;
如果步驟317中判斷結(jié)果為“否”,則跳轉(zhuǎn)回步驟315繼續(xù)設(shè)置;
如果步驟317中判斷結(jié)果為“是”,則執(zhí)行步驟318,生成視圖(子查詢)sql的where部分。
6.如權(quán)利要求5所述的方法,其特征在于:
所述步驟207,設(shè)置條件分列明細(xì),進(jìn)一步包括,
步驟319,進(jìn)行分列明細(xì)設(shè)置;
步驟320,進(jìn)行條件判斷設(shè)置;
步驟321,獲取拆分列、輸出列、輸出默認(rèn)值信息;
步驟322,生成case??when語句的then、else和end?as部分;
步驟323,獲取條件列判斷明細(xì)信息;
步驟324,生成case??when語句的when部分;
步驟325,生成完整的case??when條件判斷sql片段;
步驟326,判斷是否設(shè)置完成;
如果步驟326中判斷結(jié)果為“否”,則跳轉(zhuǎn)回步驟319繼續(xù)設(shè)置;?
如果步驟326中判斷結(jié)果為“是”,則執(zhí)行步驟327,生成select部分。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于用友網(wǎng)絡(luò)科技股份有限公司,未經(jīng)用友網(wǎng)絡(luò)科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310701518.3/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)





