亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的裝置和方法

文檔序號(hào):6433837閱讀:146來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的裝置和方法
技術(shù)領(lǐng)域
本發(fā)明涉及查詢(xún)技術(shù),具體而言,涉及減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的裝置和方法。
背景技術(shù)
ERP系統(tǒng)是一類(lèi)功能龐大而復(fù)雜的大型應(yīng)用系統(tǒng),其中存在許多復(fù)雜的業(yè)務(wù)計(jì)算。 這類(lèi)系統(tǒng)通常都是基于大型關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的,應(yīng)用系統(tǒng)中的業(yè)務(wù)計(jì)算有很大的部分是由數(shù)據(jù)庫(kù)執(zhí)行的。數(shù)據(jù)庫(kù)系統(tǒng)的性能將直接決定ERP系統(tǒng)的性能,數(shù)據(jù)庫(kù)系統(tǒng)最容易出現(xiàn)瓶頸的是CPU資源。大量的即席查詢(xún),需要數(shù)據(jù)庫(kù)系統(tǒng)頻繁的進(jìn)行執(zhí)行計(jì)劃編譯,這種編譯將大大消耗數(shù)據(jù)庫(kù)CPU資源,影響系統(tǒng)的流暢性和用戶體驗(yàn)效果。目前,減少即席查詢(xún)通常的方法有兩種程序中使用變量綁定方式或使用數(shù)據(jù)庫(kù)系統(tǒng)提供的強(qiáng)制參數(shù)化機(jī)制,但這兩種方法僅僅適用于查詢(xún)語(yǔ)句簡(jiǎn)單,條件變量個(gè)數(shù)固定的場(chǎng)景,當(dāng)查詢(xún)語(yǔ)句的條件變量個(gè)數(shù)不固定時(shí)將失去作用,甚至對(duì)系統(tǒng)有害無(wú)益。因此,需要一種新的減少即席查詢(xún)的技術(shù),可以對(duì)非固定長(zhǎng)度、數(shù)量的輸入條件查詢(xún)語(yǔ)句的數(shù)據(jù)條件進(jìn)行格式匯總,令同類(lèi)型查詢(xún)語(yǔ)句使用相同的查詢(xún)計(jì)劃,以實(shí)現(xiàn)降低即席查詢(xún)語(yǔ)句數(shù)量,提高查詢(xún)效率。

發(fā)明內(nèi)容
本發(fā)明正是基于上述問(wèn)題,提出了一種新的減少即席查詢(xún)的技術(shù),可以對(duì)非固定長(zhǎng)度、數(shù)量的輸入條件查詢(xún)語(yǔ)句的數(shù)據(jù)條件進(jìn)行格式匯總,令同類(lèi)型查詢(xún)語(yǔ)句使用相同的查詢(xún)計(jì)劃,以實(shí)現(xiàn)降低即席查詢(xún)語(yǔ)句數(shù)量,提高查詢(xún)效率。有鑒于此,本發(fā)明提出了一種減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的裝置,包括獲取模塊,在參與查詢(xún)的條件變量的個(gè)數(shù)不固定時(shí),獲取所述條件變量中的同類(lèi)變量;生成模塊,利用編程語(yǔ)言中的集合對(duì)象匯總所述同類(lèi)變量,生成至少一個(gè)變量集合對(duì)象;轉(zhuǎn)換模塊,根據(jù)所述編程語(yǔ)言使用的數(shù)據(jù)結(jié)構(gòu)類(lèi)型,將所述至少一個(gè)變量集合對(duì)象按照對(duì)應(yīng)于所述數(shù)據(jù)結(jié)構(gòu)類(lèi)型的格式轉(zhuǎn)換為至少一個(gè)XML數(shù)據(jù)串;解析模塊,使用解析函數(shù)將所述XML數(shù)據(jù)串解析為子查詢(xún)方式的結(jié)果集。在該技術(shù)方案中,通過(guò)將同類(lèi)變量匯總至集合對(duì)象,并對(duì)該集合對(duì)象進(jìn)行XML數(shù)據(jù)串的轉(zhuǎn)換及解析,從而實(shí)現(xiàn)在非固定長(zhǎng)度、數(shù)量的輸入條件下,減少即席查詢(xún)語(yǔ)句。這里進(jìn)行匯總的條件變量可以包括多種類(lèi)型,從而在匯總時(shí)可以得到多個(gè)集合對(duì)象,并在后續(xù)處理中同時(shí)進(jìn)行處理。在上述技術(shù)方案中,優(yōu)選地,還包括標(biāo)記模塊,在獲取所述同類(lèi)變量的位置進(jìn)行標(biāo)記;以及返回模塊,將所述子查詢(xún)方式的結(jié)果集返回至所述標(biāo)記處。在該技術(shù)方案中,從 A處獲取條件變量進(jìn)行處理后,得到的結(jié)果還需要返回A處,通過(guò)在獲取時(shí)進(jìn)行標(biāo)記,從而可以確保得到的結(jié)果得以及時(shí)、正確地處理。在上述技術(shù)方案中,優(yōu)選地,還包括判斷模塊,判斷所述XML數(shù)據(jù)串的合法性;以及修正模塊,在所述XML數(shù)據(jù)串出現(xiàn)錯(cuò)誤時(shí),對(duì)所述錯(cuò)誤進(jìn)行修正。在該技術(shù)方案中,XML數(shù)
3據(jù)串在生成時(shí)可能出現(xiàn)語(yǔ)法錯(cuò)誤等,因此需要進(jìn)行合法性檢查,并在發(fā)現(xiàn)錯(cuò)誤時(shí)進(jìn)行更正, 提高結(jié)果的可靠性。在上述技術(shù)方案中,優(yōu)選地,還包括臨時(shí)存儲(chǔ)模塊,在所述解析函數(shù)的內(nèi)部定義臨時(shí)存儲(chǔ)區(qū)域,用于存儲(chǔ)進(jìn)行所述判斷和/或所述解析的所述XML數(shù)據(jù)串。在該技術(shù)方案中,XML數(shù)據(jù)串作為中間數(shù)據(jù),可以在解析函數(shù)的內(nèi)部劃分出一個(gè)臨時(shí)存儲(chǔ)區(qū)域,相當(dāng)于緩存,從而對(duì)XML數(shù)據(jù)串進(jìn)行暫存和處理,而不用每次從外部調(diào)取XML數(shù)據(jù)串,提高運(yùn)算效率。在上述技術(shù)方案中,優(yōu)選地,還包括函數(shù)創(chuàng)建模塊,創(chuàng)建所述解析函數(shù),并將所述解析函數(shù)存儲(chǔ)于所述數(shù)據(jù)庫(kù)中。在該技術(shù)方案中,在建立上述裝置前,需要針對(duì)運(yùn)行中可能出現(xiàn)的情況,預(yù)存需要用到的解析函數(shù),從而避免在運(yùn)行中出現(xiàn)無(wú)法解析等情形,提高運(yùn)行的可靠性。根據(jù)本發(fā)明的又一方面,還提出了一種減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的方法, 包括步驟202,在參與查詢(xún)的條件變量的個(gè)數(shù)不固定時(shí),獲取所述條件變量中的同類(lèi)變量,并利用編程語(yǔ)言中的集合對(duì)象匯總所述同類(lèi)變量,生成至少一個(gè)變量集合對(duì)象;步驟 204,根據(jù)所述編程語(yǔ)言使用的數(shù)據(jù)結(jié)構(gòu)類(lèi)型,將所述至少一個(gè)變量集合對(duì)象按照對(duì)應(yīng)于所述數(shù)據(jù)結(jié)構(gòu)類(lèi)型的格式轉(zhuǎn)換為至少一個(gè)XML數(shù)據(jù)串;步驟206,使用解析函數(shù)將所述至少一個(gè)XML數(shù)據(jù)串解析為子查詢(xún)方式的結(jié)果集。在該技術(shù)方案中,通過(guò)將同類(lèi)變量匯總至集合對(duì)象,并對(duì)該集合對(duì)象進(jìn)行XML數(shù)據(jù)串的轉(zhuǎn)換及解析,從而實(shí)現(xiàn)在非固定長(zhǎng)度、數(shù)量的輸入條件下,減少即席查詢(xún)語(yǔ)句。這里進(jìn)行匯總的條件變量可以包括多種類(lèi)型,從而在匯總時(shí)可以得到多個(gè)集合對(duì)象,并在后續(xù)處理中同時(shí)進(jìn)行處理。 在上述技術(shù)方案中,優(yōu)選地,所述步驟202還包括在獲取所述同類(lèi)變量的位置進(jìn)行標(biāo)記;以及所述步驟206還包括將所述子查詢(xún)方式的結(jié)果集返回至所述標(biāo)記處。在該技術(shù)方案中,從A處獲取條件變量進(jìn)行處理后,得到的結(jié)果還需要返回A處,通過(guò)在獲取時(shí)進(jìn)行標(biāo)記,從而可以確保得到的結(jié)果得以及時(shí)、正確地處理。在上述技術(shù)方案中,優(yōu)選地,在所述步驟206之前,還包括判斷所述XML數(shù)據(jù)串的合法性,以及在所述XML數(shù)據(jù)串出現(xiàn)錯(cuò)誤時(shí),對(duì)所述錯(cuò)誤進(jìn)行修正。在該技術(shù)方案中,XML數(shù)據(jù)串在生成時(shí)可能出現(xiàn)語(yǔ)法錯(cuò)誤等,因此需要進(jìn)行合法性檢查,并在發(fā)現(xiàn)錯(cuò)誤時(shí)進(jìn)行更正, 提高結(jié)果的可靠性。在上述技術(shù)方案中,優(yōu)選地,在所述步驟206中,還包括在所述解析函數(shù)的內(nèi)部定義臨時(shí)存儲(chǔ)區(qū)域,所述臨時(shí)存儲(chǔ)區(qū)域用于存儲(chǔ)進(jìn)行所述判斷和/或所述解析的所述XML 數(shù)據(jù)串。在該技術(shù)方案中,XML數(shù)據(jù)串作為中間數(shù)據(jù),可以在解析函數(shù)的內(nèi)部劃分出一個(gè)臨時(shí)存儲(chǔ)區(qū)域,相當(dāng)于緩存,從而對(duì)XML數(shù)據(jù)串進(jìn)行暫存和處理,而不用每次從外部調(diào)取XML 數(shù)據(jù)串,提高運(yùn)算效率。在上述技術(shù)方案中,優(yōu)選地,還包括創(chuàng)建所述解析函數(shù),并將所述解析函數(shù)存儲(chǔ)于所述數(shù)據(jù)庫(kù)中。在該技術(shù)方案中,在建立上述裝置前,需要針對(duì)運(yùn)行中可能出現(xiàn)的情況, 預(yù)存需要用到的解析函數(shù),從而避免在運(yùn)行中出現(xiàn)無(wú)法解析等情形,提高運(yùn)行的可靠性。通過(guò)以上技術(shù)方案,可以對(duì)非固定長(zhǎng)度、數(shù)量的輸入條件查詢(xún)語(yǔ)句的數(shù)據(jù)條件進(jìn)行格式匯總,令同類(lèi)型查詢(xún)語(yǔ)句使用相同的查詢(xún)計(jì)劃,以實(shí)現(xiàn)降低即席查詢(xún)語(yǔ)句數(shù)量,提高查詢(xún)效率。


圖1示出了根據(jù)本發(fā)明的實(shí)施例的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的裝置的框圖;圖2示出了根據(jù)本發(fā)明的實(shí)施例的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的方法的流程圖;圖3示出了根據(jù)本發(fā)明的實(shí)施例的進(jìn)行數(shù)據(jù)庫(kù)查詢(xún)的示意流程圖;以及圖4示出了根據(jù)本發(fā)明的實(shí)施例的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的方法的示意流程圖。
具體實(shí)施例方式為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來(lái)實(shí)施,因此,本發(fā)明并不限于下面公開(kāi)的具體實(shí)施例的限制。圖1示出了根據(jù)本發(fā)明的實(shí)施例的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的裝置的框圖。如圖1所示,根據(jù)本發(fā)明的實(shí)施例的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的裝置100 包括獲取模塊102,在參與查詢(xún)的條件變量的個(gè)數(shù)不固定時(shí),獲取條件變量中的同類(lèi)變量;生成模塊104,利用編程語(yǔ)言中的集合對(duì)象匯總同類(lèi)變量,生成至少一個(gè)變量集合對(duì)象;轉(zhuǎn)換模塊106,根據(jù)編程語(yǔ)言使用的數(shù)據(jù)結(jié)構(gòu)類(lèi)型,將至少一個(gè)變量集合對(duì)象按照對(duì)應(yīng)于數(shù)據(jù)結(jié)構(gòu)類(lèi)型的格式轉(zhuǎn)換為至少一個(gè)XML數(shù)據(jù)串;解析模塊108,使用解析函數(shù)將XML數(shù)據(jù)串解析為子查詢(xún)方式的結(jié)果集;標(biāo)記模塊110,在獲取同類(lèi)變量的位置進(jìn)行標(biāo)記;返回模塊112,將子查詢(xún)方式的結(jié)果集返回至標(biāo)記處;判斷模塊114,判斷XML數(shù)據(jù)串的合法性;修正模塊116,在XML數(shù)據(jù)串出現(xiàn)錯(cuò)誤時(shí),對(duì)錯(cuò)誤進(jìn)行修正;臨時(shí)存儲(chǔ)模塊118,在解析函數(shù)的內(nèi)部定義臨時(shí)存儲(chǔ)區(qū)域,用于存儲(chǔ)進(jìn)行判斷和/或解析的XML數(shù)據(jù)串;函數(shù)創(chuàng)建模塊120, 創(chuàng)建解析函數(shù),并將解析函數(shù)存儲(chǔ)于數(shù)據(jù)庫(kù)中。在該技術(shù)方案中,通過(guò)將同類(lèi)變量匯總至集合對(duì)象,并對(duì)該集合對(duì)象進(jìn)行XML數(shù)據(jù)串的轉(zhuǎn)換及解析,從而實(shí)現(xiàn)在非固定長(zhǎng)度、數(shù)量的輸入條件下,減少即席查詢(xún)語(yǔ)句。這里進(jìn)行匯總的條件變量可以包括多種類(lèi)型,從而在匯總時(shí)可以得到多個(gè)集合對(duì)象,并在后續(xù)處理中同時(shí)進(jìn)行處理。在上述技術(shù)方案中,從A處獲取條件變量進(jìn)行處理后,得到的結(jié)果還需要返回A 處,通過(guò)在獲取時(shí)進(jìn)行標(biāo)記,從而可以確保得到的結(jié)果得以及時(shí)、正確地處理。在上述技術(shù)方案中,XML數(shù)據(jù)串在生成時(shí)可能出現(xiàn)語(yǔ)法錯(cuò)誤等,因此需要進(jìn)行合法性檢查,并在發(fā)現(xiàn)錯(cuò)誤時(shí)進(jìn)行更正,提高結(jié)果的可靠性。在上述技術(shù)方案中,XML數(shù)據(jù)串作為中間數(shù)據(jù),可以在解析函數(shù)的內(nèi)部劃分出一個(gè)臨時(shí)存儲(chǔ)區(qū)域,相當(dāng)于緩存,從而對(duì)XML數(shù)據(jù)串進(jìn)行暫存和處理,而不用每次從外部調(diào)取 XML數(shù)據(jù)串,提高運(yùn)算效率。在上述技術(shù)方案中,在建立上述裝置100前,需要針對(duì)運(yùn)行中可能出現(xiàn)的情況,預(yù)存需要用到的解析函數(shù),從而避免在運(yùn)行中出現(xiàn)無(wú)法解析等情形,提高運(yùn)行的可靠性。
圖2示出了根據(jù)本發(fā)明的實(shí)施例的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的方法的流程圖。如圖2所示,根據(jù)本發(fā)明的實(shí)施例的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的方法包括步驟202,在參與查詢(xún)的條件變量的個(gè)數(shù)不固定時(shí),獲取條件變量中的同類(lèi)變量,并利用編程語(yǔ)言中的集合對(duì)象匯總同類(lèi)變量,生成至少一個(gè)變量集合對(duì)象;步驟204,根據(jù)編程語(yǔ)言使用的數(shù)據(jù)結(jié)構(gòu)類(lèi)型,將至少一個(gè)變量集合對(duì)象按照對(duì)應(yīng)于數(shù)據(jù)結(jié)構(gòu)類(lèi)型的格式轉(zhuǎn)換為至少一個(gè)XML數(shù)據(jù)串;步驟206,使用解析函數(shù)將至少一個(gè)XML數(shù)據(jù)串解析為子查詢(xún)方式的結(jié)果集。在該技術(shù)方案中,通過(guò)將同類(lèi)變量匯總至集合對(duì)象,并對(duì)該集合對(duì)象進(jìn)行XML數(shù)據(jù)串的轉(zhuǎn)換及解析,從而實(shí)現(xiàn)在非固定長(zhǎng)度、數(shù)量的輸入條件下,減少即席查詢(xún)語(yǔ)句。這里進(jìn)行匯總的條件變量可以包括多種類(lèi)型,從而在匯總時(shí)可以得到多個(gè)集合對(duì)象,并在后續(xù)處理中同時(shí)進(jìn)行處理。在上述技術(shù)方案中,步驟202還包括在獲取同類(lèi)變量的位置進(jìn)行標(biāo)記;以及步驟 206還包括將子查詢(xún)方式的結(jié)果集返回至標(biāo)記處。在該技術(shù)方案中,從A處獲取條件變量進(jìn)行處理后,得到的結(jié)果還需要返回A處,通過(guò)在獲取時(shí)進(jìn)行標(biāo)記,從而可以確保得到的結(jié)果得以及時(shí)、正確地處理。在上述技術(shù)方案中,在步驟206之前,還包括判斷XML數(shù)據(jù)串的合法性,以及在 XML數(shù)據(jù)串出現(xiàn)錯(cuò)誤時(shí),對(duì)錯(cuò)誤進(jìn)行修正。在該技術(shù)方案中,XML數(shù)據(jù)串在生成時(shí)可能出現(xiàn)語(yǔ)法錯(cuò)誤等,因此需要進(jìn)行合法性檢查,并在發(fā)現(xiàn)錯(cuò)誤時(shí)進(jìn)行更正,提高結(jié)果的可靠性。在上述技術(shù)方案中,在步驟206中,還包括在解析函數(shù)的內(nèi)部定義臨時(shí)存儲(chǔ)區(qū)域,臨時(shí)存儲(chǔ)區(qū)域用于存儲(chǔ)進(jìn)行判斷和/或解析的XML數(shù)據(jù)串。在該技術(shù)方案中,XML數(shù)據(jù)串作為中間數(shù)據(jù),可以在解析函數(shù)的內(nèi)部劃分出一個(gè)臨時(shí)存儲(chǔ)區(qū)域,相當(dāng)于緩存,從而對(duì) XML數(shù)據(jù)串進(jìn)行暫存和處理,而不用每次從外部調(diào)取XML數(shù)據(jù)串,提高運(yùn)算效率。在上述技術(shù)方案中,還包括創(chuàng)建解析函數(shù),并將解析函數(shù)存儲(chǔ)于數(shù)據(jù)庫(kù)中。在該技術(shù)方案中,在建立上述裝置前,需要針對(duì)運(yùn)行中可能出現(xiàn)的情況,預(yù)存需要用到的解析函數(shù),從而避免在運(yùn)行中出現(xiàn)無(wú)法解析等情形,提高運(yùn)行的可靠性。圖3示出了根據(jù)本發(fā)明的實(shí)施例的進(jìn)行數(shù)據(jù)庫(kù)查詢(xún)的示意流程圖。如圖3所示,在進(jìn)行數(shù)據(jù)庫(kù)查詢(xún)時(shí),步驟如下步驟302,客戶端發(fā)起查詢(xún)請(qǐng)求,發(fā)出查詢(xún)語(yǔ)句;步驟304,對(duì)于查詢(xún)語(yǔ)句進(jìn)行合法性檢查,比如詞法分析等,在不合法時(shí),返回步驟 302,在合法時(shí),進(jìn)入步驟306 ;步驟306,通過(guò)關(guān)系代數(shù)優(yōu)化器對(duì)查詢(xún)語(yǔ)句進(jìn)行優(yōu)化;步驟308,在執(zhí)行前需要由數(shù)據(jù)庫(kù)系統(tǒng)首先產(chǎn)生出相應(yīng)的執(zhí)行計(jì)劃,也就是查詢(xún)語(yǔ)句如何執(zhí)行的路徑規(guī)劃。數(shù)據(jù)庫(kù)系統(tǒng)在接收到客戶端的查詢(xún)語(yǔ)句時(shí)首先會(huì)在查詢(xún)語(yǔ)句緩沖池中進(jìn)行查找,如果緩沖池中已經(jīng)包含了該查詢(xún)語(yǔ)句的執(zhí)行計(jì)劃,則直接進(jìn)入步驟312,若不存在,則進(jìn)入步驟310;步驟310,數(shù)據(jù)庫(kù)系統(tǒng)將編譯執(zhí)行計(jì)劃;步驟312,使用執(zhí)行計(jì)劃,執(zhí)行查詢(xún);步驟314,返回查詢(xún)結(jié)果。圖4示出了根據(jù)本發(fā)明的實(shí)施例的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的方法的示意流程圖。如圖4所示,根據(jù)本發(fā)明的實(shí)施例的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的方法步驟如下步驟402,對(duì)于條件變量,可以是屬于多個(gè)不同類(lèi)型的多個(gè)條件變量;步驟404,使用編程語(yǔ)言中的集合對(duì)象將條件變量中的同類(lèi)變量匯總起來(lái),集合對(duì)象不限某種特定的數(shù)據(jù)結(jié)構(gòu),可以根據(jù)實(shí)際情況使用多種數(shù)據(jù)結(jié)構(gòu),遍歷變量字符串,將變量拆分后插入集合對(duì)象中。在這里,返回?cái)?shù)據(jù)結(jié)構(gòu)是數(shù)組類(lèi)型,定義傳入ID的字符串,然后根據(jù)分隔符循環(huán)遍歷字符串中的每隔值,將值放入數(shù)組中,將格式化的數(shù)組返回給調(diào)用者;步驟406,將前一步驟中得到的集合對(duì)象轉(zhuǎn)換為XML數(shù)據(jù)串,這里聲明一個(gè)返回字符串類(lèi)型的方法,其傳入?yún)?shù)是一個(gè)數(shù)組類(lèi)型;在方法內(nèi)部再聲明一個(gè)數(shù)組,循環(huán)遍歷傳入的數(shù)組類(lèi)型將其中的變量值賦值給新的數(shù)組類(lèi)型。在遍歷過(guò)程中根據(jù)變量類(lèi)型的不同需要做不同的判斷,整形可以直接賦值,字符串類(lèi)型和時(shí)間類(lèi)型需要轉(zhuǎn)化成符合XML國(guó)際化字符集標(biāo)準(zhǔn)的樣式;遍歷結(jié)束后將其進(jìn)行標(biāo)準(zhǔn)XML解析,使其符合XML的標(biāo)準(zhǔn)格式結(jié)構(gòu),返回給調(diào)用者;步驟408,使用對(duì)應(yīng)的函數(shù)對(duì)上述步驟得到的XML數(shù)據(jù)串進(jìn)行解析,這里首先需要判斷傳入XML字符串是否符合標(biāo)準(zhǔn),防止直接執(zhí)行導(dǎo)致錯(cuò)誤。在函數(shù)內(nèi)部定義臨時(shí)存儲(chǔ)區(qū)域,該區(qū)域可以以臨時(shí)表或表變量形式存在。該區(qū)域只有一個(gè)XML類(lèi)型的字段,然后對(duì)該 XML進(jìn)行格式解析返回?cái)?shù)組集合;此外,在建立整個(gè)查詢(xún)系統(tǒng)之前,還需要事先將對(duì)XML數(shù)據(jù)串進(jìn)行解析時(shí)需要用到的解析函數(shù)存儲(chǔ)在裝置4082中,這里的裝置4082可以為存儲(chǔ)裝置或者是數(shù)據(jù)庫(kù);步驟410,將函數(shù)解析后得到的子查詢(xún)記錄集結(jié)果返回獲取條件變量的位置,這里也就是說(shuō),在獲取條件變量的時(shí)候,需要在獲取的地點(diǎn),如地點(diǎn)A進(jìn)行標(biāo)記,然后在得到子查詢(xún)記錄集結(jié)果后,要將該結(jié)果返回地點(diǎn)A,從而順利進(jìn)行之后的處理任務(wù)。以上結(jié)合附圖詳細(xì)說(shuō)明了本發(fā)明的技術(shù)方案,考慮到以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的裝置,其特征在于,包括獲取模塊,在參與查詢(xún)的條件變量的個(gè)數(shù)不固定時(shí),獲取所述條件變量中的同類(lèi)變量;生成模塊,利用編程語(yǔ)言中的集合對(duì)象匯總所述同類(lèi)變量,生成至少一個(gè)變量集合對(duì)象;轉(zhuǎn)換模塊,根據(jù)所述編程語(yǔ)言使用的數(shù)據(jù)結(jié)構(gòu)類(lèi)型,將所述至少一個(gè)變量集合對(duì)象按照對(duì)應(yīng)于所述數(shù)據(jù)結(jié)構(gòu)類(lèi)型的格式轉(zhuǎn)換為至少一個(gè)XML數(shù)據(jù)串;解析模塊,使用解析函數(shù)將所述XML數(shù)據(jù)串解析為子查詢(xún)方式的結(jié)果集。
2.根據(jù)權(quán)利要求1所述的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的裝置,其特征在于,還包括標(biāo)記模塊,在獲取所述同類(lèi)變量的位置進(jìn)行標(biāo)記;以及返回模塊,將所述子查詢(xún)方式的結(jié)果集返回至所述標(biāo)記處。
3.根據(jù)權(quán)利要求1所述的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的裝置,其特征在于,還包括判斷模塊,判斷所述XML數(shù)據(jù)串的合法性;以及修正模塊,在所述XML數(shù)據(jù)串出現(xiàn)錯(cuò)誤時(shí),對(duì)所述錯(cuò)誤進(jìn)行修正。
4.根據(jù)權(quán)利要求3所述的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的裝置,其特征在于,還包括臨時(shí)存儲(chǔ)模塊,在所述解析函數(shù)的內(nèi)部定義臨時(shí)存儲(chǔ)區(qū)域,用于存儲(chǔ)進(jìn)行所述判斷和/ 或所述解析的所述XML數(shù)據(jù)串。
5.根據(jù)權(quán)利要求4所述的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的裝置,其特征在于,還包括函數(shù)創(chuàng)建模塊,創(chuàng)建所述解析函數(shù),并將所述解析函數(shù)存儲(chǔ)于所述數(shù)據(jù)庫(kù)中。
6.一種減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的方法,其特征在于,包括步驟202,在參與查詢(xún)的條件變量的個(gè)數(shù)不固定時(shí),獲取所述條件變量中的同類(lèi)變量, 并利用編程語(yǔ)言中的集合對(duì)象匯總所述同類(lèi)變量,生成至少一個(gè)變量集合對(duì)象;步驟204,根據(jù)所述編程語(yǔ)言使用的數(shù)據(jù)結(jié)構(gòu)類(lèi)型,將所述至少一個(gè)變量集合對(duì)象按照對(duì)應(yīng)于所述數(shù)據(jù)結(jié)構(gòu)類(lèi)型的格式轉(zhuǎn)換為至少一個(gè)XML數(shù)據(jù)串;步驟206,使用解析函數(shù)將所述至少一個(gè)XML數(shù)據(jù)串解析為子查詢(xún)方式的結(jié)果集。
7.根據(jù)權(quán)利要求6所述的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的方法,其特征在于,所述步驟202還包括在獲取所述同類(lèi)變量的位置進(jìn)行標(biāo)記;以及所述步驟206還包括將所述子查詢(xún)方式的結(jié)果集返回至所述標(biāo)記處。
8.根據(jù)權(quán)利要求6所述的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的方法,其特征在于,在所述步驟206之前,還包括判斷所述XML數(shù)據(jù)串的合法性,以及在所述XML數(shù)據(jù)串出現(xiàn)錯(cuò)誤時(shí),對(duì)所述錯(cuò)誤進(jìn)行修正。
9.根據(jù)權(quán)利要求8所述的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的方法,其特征在于,在所述步驟206中,還包括在所述解析函數(shù)的內(nèi)部定義臨時(shí)存儲(chǔ)區(qū)域,所述臨時(shí)存儲(chǔ)區(qū)域用于存儲(chǔ)進(jìn)行所述判斷和/或所述解析的所述XML數(shù)據(jù)串。
10.根據(jù)權(quán)利要求9所述的減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的方法,其特征在于,還包括創(chuàng)建所述解析函數(shù),并將所述解析函數(shù)存儲(chǔ)于所述數(shù)據(jù)庫(kù)中。
全文摘要
本發(fā)明提供了一種減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的裝置,包括獲取模塊,在條件變量的個(gè)數(shù)不固定時(shí),獲取其中的同類(lèi)變量;生成模塊,利用編程語(yǔ)言中的集合對(duì)象匯總同類(lèi)變量,生成至少一個(gè)變量集合對(duì)象;轉(zhuǎn)換模塊,根據(jù)編程語(yǔ)言使用的數(shù)據(jù)結(jié)構(gòu)類(lèi)型,將至少一個(gè)變量集合對(duì)象按照對(duì)應(yīng)于數(shù)據(jù)結(jié)構(gòu)類(lèi)型的格式轉(zhuǎn)換為至少一個(gè)XML數(shù)據(jù)串;解析模塊,使用解析函數(shù)將XML數(shù)據(jù)串解析為子查詢(xún)方式的結(jié)果集。相應(yīng)地,本發(fā)明還提供了一種減少數(shù)據(jù)庫(kù)系統(tǒng)中即席查詢(xún)語(yǔ)句的方法。通過(guò)本發(fā)明的技術(shù)方案,可以對(duì)非固定長(zhǎng)度、數(shù)量的輸入條件查詢(xún)語(yǔ)句的數(shù)據(jù)條件進(jìn)行格式匯總,令同類(lèi)型查詢(xún)語(yǔ)句使用相同的查詢(xún)計(jì)劃,以實(shí)現(xiàn)降低即席查詢(xún)語(yǔ)句數(shù)量,提高查詢(xún)效率。
文檔編號(hào)G06F17/30GK102354318SQ20111028458
公開(kāi)日2012年2月15日 申請(qǐng)日期2011年9月22日 優(yōu)先權(quán)日2011年9月22日
發(fā)明者黃衛(wèi) 申請(qǐng)人:用友軟件股份有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1