• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一個(gè)SQL游標(biāo)的應(yīng)用實(shí)例

    2014-11-14 10:34:27戴晴宜
    科技資訊 2014年12期

    戴晴宜

    摘 要:關(guān)系數(shù)據(jù)庫中的操作會對整個(gè)行集起作用,應(yīng)用程序,特別是交互式聯(lián)機(jī)應(yīng)用程序,并不總能將整個(gè)結(jié)果集作為一個(gè)單元來有效地處理。這些應(yīng)用程序需要一種機(jī)制以便每次處理一行或一部分行。游標(biāo)就是提供這種機(jī)制的對結(jié)果集的一種擴(kuò)展。本文通過一個(gè)實(shí)例,介紹了SQL存儲過程中游標(biāo)的使用。

    關(guān)鍵詞:SQL游標(biāo) 游標(biāo)嵌套 試用權(quán)限

    中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2014)04(c)-0026-02

    二次文獻(xiàn)共建共享網(wǎng)絡(luò)服務(wù)平臺(以下簡稱平臺)是《全國報(bào)刊索引》編輯部一個(gè)網(wǎng)絡(luò)服務(wù)平臺,它利用現(xiàn)代化信息技術(shù)和服務(wù)手段,聯(lián)合海內(nèi)外廣大圖情界同仁,在特色資源、近代文獻(xiàn)等珍貴文獻(xiàn)搶救和發(fā)掘方面合作共建,為廣大讀者用戶提供良好的信息參考和決策咨詢服務(wù),也為海內(nèi)外研究國學(xué)的人士獲取信息提供更多的便利。目前,《全國報(bào)刊索引》編輯部已擁有全文數(shù)據(jù)庫、索引數(shù)據(jù)庫、專題數(shù)據(jù)庫和特色資源數(shù)據(jù)庫四種類型數(shù)據(jù)庫。[1]

    在平臺的運(yùn)維工作中,經(jīng)常會收到服務(wù)組提出的技術(shù)支持請求。有一次,為了配合數(shù)據(jù)庫產(chǎn)品的推廣活動(dòng),服務(wù)組希望技術(shù)部協(xié)助為一批試用用戶賬號開放產(chǎn)品試用權(quán)限。

    平臺的文獻(xiàn)數(shù)據(jù)庫產(chǎn)品結(jié)構(gòu)如圖1所示,分為三層:產(chǎn)品大類(如全文庫、索引庫等)、產(chǎn)品類(如晚清期刊全文數(shù)據(jù)庫(1833~1911)、民國時(shí)期期刊全文數(shù)據(jù)庫(1911~1949)等)、產(chǎn)品(如遐邇貫珍、點(diǎn)石齋畫報(bào)等)。這次收到的要求是,按不同需要分配產(chǎn)品權(quán)限:如單個(gè)產(chǎn)品的試用、單個(gè)產(chǎn)品類的試用。

    按照慣例,類似這種臨時(shí)性的數(shù)據(jù)處理請求,以SQL存儲過程的方式來完成數(shù)據(jù)處理的相關(guān)任務(wù),再根據(jù)實(shí)際需要,評估是否需要將該功能加到平臺應(yīng)用中。

    1 單個(gè)產(chǎn)品的試用權(quán)限

    這里要做的是為每一個(gè)試用賬號在產(chǎn)品試用表中添加一條記錄,由于需要對試用賬號這個(gè)查詢結(jié)果集進(jìn)行逐行處理,因此,需要使用一個(gè)游標(biāo)來實(shí)現(xiàn),具體如下:

    ……

    DECLARE @trid INT

    DECLARE @cp INT

    DECLARE usr CURSOR FOR

    SELECT

    trial_id

    FROM trialusr

    OPEN usr

    FETCH NEXT FROM usr INTO @trid

    WHILE @@fetch_status = 0

    BEGIN

    SET @cp = X /* X為任意數(shù)字 */

    BEGIN TRANSACTION;

    INSERT INTO trialcp(trial_id,cp,start,end)

    VALUES(@trid,@cp,GETDATE(),(GETDATE()+7))

    COMMIT;

    FETCH NEXT FROM usr INTO @trid

    END

    CLOSE usr

    DEALLOCATE usr

    ……

    2 單個(gè)產(chǎn)品類的試用權(quán)限

    在這個(gè)需求中,有2個(gè)結(jié)果集,一個(gè)是試用賬號,另一個(gè)是產(chǎn)品類中的產(chǎn)品id,并且兩者都需要進(jìn)行逐行處理,以實(shí)現(xiàn)一對一的關(guān)系,因此考慮使用2個(gè)游標(biāo),并且嵌套使用,具體如下:

    ……

    DECLARE @trid INT

    DECLARE @cpl varchar(50)

    DECLARE @cp INT

    SET @cpl=捪摯饕?1950~)?

    DECLARE usr CURSOR FOR

    SELECT

    trial_id

    FROM trialusr

    OPEN usr

    FETCH NEXT FROM usr INTO @trid

    WHILE @@fetch_status = 0

    BEGIN

    BEGIN

    DECLARE cur_cp CURSOR FOR

    SELECT cpid

    FROM cplist

    WHERE cpl = @cpl

    OPEN cur_cp

    FETCH NEXT FROM cur_cp INTO @cp

    WHILE @@fetch_status = 0

    BEGIN

    BEGIN TRANSACTION;

    INSERT INTO trialcp(trial_id,cp,start,end)

    VALUES(@trid,@cp,GETDATE(),(GETDATE()+7))

    COMMIT;

    FETCH NEXT FROM cur_cp INTO @cp

    END

    CLOSE cur_cp

    DEALLOCATE cur_cp

    FETCH NEXT FROM usr INTO @trid

    END

    CLOSE usr

    DEALLOCATE usr

    ……

    以上,是根據(jù)服務(wù)組提出的技術(shù)支持需求,形成的解決方案,在測試數(shù)據(jù)庫中測試及調(diào)試后,證實(shí)該方案可行,并準(zhǔn)確實(shí)現(xiàn)了服務(wù)組的要求。

    3 結(jié)語

    關(guān)系數(shù)據(jù)庫中的操作會對整個(gè)行集起作用。由SELECT語句返回的行集包括滿足該語句的WHERE子句中條件的所有行。這種由語句返回的完整行集稱為結(jié)果集。應(yīng)用程序,特別是交互式聯(lián)機(jī)應(yīng)用程序,并不總能將整個(gè)結(jié)果集作為一個(gè)單元來有效地處理。這些應(yīng)用程序需要一種機(jī)制以便每次處理一行或一部分行。游標(biāo)就是提供這種機(jī)制的對結(jié)果集的一種擴(kuò)展。[2]

    本次技術(shù)支持任務(wù)中,嘗試了通過游標(biāo)的使用,來實(shí)現(xiàn)批量數(shù)據(jù)的逐行處理。在數(shù)據(jù)處理的工作中,經(jīng)常會遇到類似對數(shù)據(jù)集進(jìn)行逐行處理的任務(wù),希望本實(shí)例,可以為SQL的初學(xué)者提供參考。

    參考文獻(xiàn)

    [1] 《全國報(bào)刊索引》二次文獻(xiàn)共建共享網(wǎng)絡(luò)服務(wù)平臺數(shù)據(jù)庫資源介紹[EB/OL].http://www.cnbksy.com/shlib_tsdc/product/list.do.

    [2] MSDN—Transact-SQL 參考:游標(biāo)(數(shù)據(jù)庫引擎)[EB/OL].http://msdn.microsoft.com/zh-cn/library/ms191179(v=sql.105).aspx.endprint

    摘 要:關(guān)系數(shù)據(jù)庫中的操作會對整個(gè)行集起作用,應(yīng)用程序,特別是交互式聯(lián)機(jī)應(yīng)用程序,并不總能將整個(gè)結(jié)果集作為一個(gè)單元來有效地處理。這些應(yīng)用程序需要一種機(jī)制以便每次處理一行或一部分行。游標(biāo)就是提供這種機(jī)制的對結(jié)果集的一種擴(kuò)展。本文通過一個(gè)實(shí)例,介紹了SQL存儲過程中游標(biāo)的使用。

    關(guān)鍵詞:SQL游標(biāo) 游標(biāo)嵌套 試用權(quán)限

    中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2014)04(c)-0026-02

    二次文獻(xiàn)共建共享網(wǎng)絡(luò)服務(wù)平臺(以下簡稱平臺)是《全國報(bào)刊索引》編輯部一個(gè)網(wǎng)絡(luò)服務(wù)平臺,它利用現(xiàn)代化信息技術(shù)和服務(wù)手段,聯(lián)合海內(nèi)外廣大圖情界同仁,在特色資源、近代文獻(xiàn)等珍貴文獻(xiàn)搶救和發(fā)掘方面合作共建,為廣大讀者用戶提供良好的信息參考和決策咨詢服務(wù),也為海內(nèi)外研究國學(xué)的人士獲取信息提供更多的便利。目前,《全國報(bào)刊索引》編輯部已擁有全文數(shù)據(jù)庫、索引數(shù)據(jù)庫、專題數(shù)據(jù)庫和特色資源數(shù)據(jù)庫四種類型數(shù)據(jù)庫。[1]

    在平臺的運(yùn)維工作中,經(jīng)常會收到服務(wù)組提出的技術(shù)支持請求。有一次,為了配合數(shù)據(jù)庫產(chǎn)品的推廣活動(dòng),服務(wù)組希望技術(shù)部協(xié)助為一批試用用戶賬號開放產(chǎn)品試用權(quán)限。

    平臺的文獻(xiàn)數(shù)據(jù)庫產(chǎn)品結(jié)構(gòu)如圖1所示,分為三層:產(chǎn)品大類(如全文庫、索引庫等)、產(chǎn)品類(如晚清期刊全文數(shù)據(jù)庫(1833~1911)、民國時(shí)期期刊全文數(shù)據(jù)庫(1911~1949)等)、產(chǎn)品(如遐邇貫珍、點(diǎn)石齋畫報(bào)等)。這次收到的要求是,按不同需要分配產(chǎn)品權(quán)限:如單個(gè)產(chǎn)品的試用、單個(gè)產(chǎn)品類的試用。

    按照慣例,類似這種臨時(shí)性的數(shù)據(jù)處理請求,以SQL存儲過程的方式來完成數(shù)據(jù)處理的相關(guān)任務(wù),再根據(jù)實(shí)際需要,評估是否需要將該功能加到平臺應(yīng)用中。

    1 單個(gè)產(chǎn)品的試用權(quán)限

    這里要做的是為每一個(gè)試用賬號在產(chǎn)品試用表中添加一條記錄,由于需要對試用賬號這個(gè)查詢結(jié)果集進(jìn)行逐行處理,因此,需要使用一個(gè)游標(biāo)來實(shí)現(xiàn),具體如下:

    ……

    DECLARE @trid INT

    DECLARE @cp INT

    DECLARE usr CURSOR FOR

    SELECT

    trial_id

    FROM trialusr

    OPEN usr

    FETCH NEXT FROM usr INTO @trid

    WHILE @@fetch_status = 0

    BEGIN

    SET @cp = X /* X為任意數(shù)字 */

    BEGIN TRANSACTION;

    INSERT INTO trialcp(trial_id,cp,start,end)

    VALUES(@trid,@cp,GETDATE(),(GETDATE()+7))

    COMMIT;

    FETCH NEXT FROM usr INTO @trid

    END

    CLOSE usr

    DEALLOCATE usr

    ……

    2 單個(gè)產(chǎn)品類的試用權(quán)限

    在這個(gè)需求中,有2個(gè)結(jié)果集,一個(gè)是試用賬號,另一個(gè)是產(chǎn)品類中的產(chǎn)品id,并且兩者都需要進(jìn)行逐行處理,以實(shí)現(xiàn)一對一的關(guān)系,因此考慮使用2個(gè)游標(biāo),并且嵌套使用,具體如下:

    ……

    DECLARE @trid INT

    DECLARE @cpl varchar(50)

    DECLARE @cp INT

    SET @cpl=捪摯饕?1950~)?

    DECLARE usr CURSOR FOR

    SELECT

    trial_id

    FROM trialusr

    OPEN usr

    FETCH NEXT FROM usr INTO @trid

    WHILE @@fetch_status = 0

    BEGIN

    BEGIN

    DECLARE cur_cp CURSOR FOR

    SELECT cpid

    FROM cplist

    WHERE cpl = @cpl

    OPEN cur_cp

    FETCH NEXT FROM cur_cp INTO @cp

    WHILE @@fetch_status = 0

    BEGIN

    BEGIN TRANSACTION;

    INSERT INTO trialcp(trial_id,cp,start,end)

    VALUES(@trid,@cp,GETDATE(),(GETDATE()+7))

    COMMIT;

    FETCH NEXT FROM cur_cp INTO @cp

    END

    CLOSE cur_cp

    DEALLOCATE cur_cp

    FETCH NEXT FROM usr INTO @trid

    END

    CLOSE usr

    DEALLOCATE usr

    ……

    以上,是根據(jù)服務(wù)組提出的技術(shù)支持需求,形成的解決方案,在測試數(shù)據(jù)庫中測試及調(diào)試后,證實(shí)該方案可行,并準(zhǔn)確實(shí)現(xiàn)了服務(wù)組的要求。

    3 結(jié)語

    關(guān)系數(shù)據(jù)庫中的操作會對整個(gè)行集起作用。由SELECT語句返回的行集包括滿足該語句的WHERE子句中條件的所有行。這種由語句返回的完整行集稱為結(jié)果集。應(yīng)用程序,特別是交互式聯(lián)機(jī)應(yīng)用程序,并不總能將整個(gè)結(jié)果集作為一個(gè)單元來有效地處理。這些應(yīng)用程序需要一種機(jī)制以便每次處理一行或一部分行。游標(biāo)就是提供這種機(jī)制的對結(jié)果集的一種擴(kuò)展。[2]

    本次技術(shù)支持任務(wù)中,嘗試了通過游標(biāo)的使用,來實(shí)現(xiàn)批量數(shù)據(jù)的逐行處理。在數(shù)據(jù)處理的工作中,經(jīng)常會遇到類似對數(shù)據(jù)集進(jìn)行逐行處理的任務(wù),希望本實(shí)例,可以為SQL的初學(xué)者提供參考。

    參考文獻(xiàn)

    [1] 《全國報(bào)刊索引》二次文獻(xiàn)共建共享網(wǎng)絡(luò)服務(wù)平臺數(shù)據(jù)庫資源介紹[EB/OL].http://www.cnbksy.com/shlib_tsdc/product/list.do.

    [2] MSDN—Transact-SQL 參考:游標(biāo)(數(shù)據(jù)庫引擎)[EB/OL].http://msdn.microsoft.com/zh-cn/library/ms191179(v=sql.105).aspx.endprint

    摘 要:關(guān)系數(shù)據(jù)庫中的操作會對整個(gè)行集起作用,應(yīng)用程序,特別是交互式聯(lián)機(jī)應(yīng)用程序,并不總能將整個(gè)結(jié)果集作為一個(gè)單元來有效地處理。這些應(yīng)用程序需要一種機(jī)制以便每次處理一行或一部分行。游標(biāo)就是提供這種機(jī)制的對結(jié)果集的一種擴(kuò)展。本文通過一個(gè)實(shí)例,介紹了SQL存儲過程中游標(biāo)的使用。

    關(guān)鍵詞:SQL游標(biāo) 游標(biāo)嵌套 試用權(quán)限

    中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2014)04(c)-0026-02

    二次文獻(xiàn)共建共享網(wǎng)絡(luò)服務(wù)平臺(以下簡稱平臺)是《全國報(bào)刊索引》編輯部一個(gè)網(wǎng)絡(luò)服務(wù)平臺,它利用現(xiàn)代化信息技術(shù)和服務(wù)手段,聯(lián)合海內(nèi)外廣大圖情界同仁,在特色資源、近代文獻(xiàn)等珍貴文獻(xiàn)搶救和發(fā)掘方面合作共建,為廣大讀者用戶提供良好的信息參考和決策咨詢服務(wù),也為海內(nèi)外研究國學(xué)的人士獲取信息提供更多的便利。目前,《全國報(bào)刊索引》編輯部已擁有全文數(shù)據(jù)庫、索引數(shù)據(jù)庫、專題數(shù)據(jù)庫和特色資源數(shù)據(jù)庫四種類型數(shù)據(jù)庫。[1]

    在平臺的運(yùn)維工作中,經(jīng)常會收到服務(wù)組提出的技術(shù)支持請求。有一次,為了配合數(shù)據(jù)庫產(chǎn)品的推廣活動(dòng),服務(wù)組希望技術(shù)部協(xié)助為一批試用用戶賬號開放產(chǎn)品試用權(quán)限。

    平臺的文獻(xiàn)數(shù)據(jù)庫產(chǎn)品結(jié)構(gòu)如圖1所示,分為三層:產(chǎn)品大類(如全文庫、索引庫等)、產(chǎn)品類(如晚清期刊全文數(shù)據(jù)庫(1833~1911)、民國時(shí)期期刊全文數(shù)據(jù)庫(1911~1949)等)、產(chǎn)品(如遐邇貫珍、點(diǎn)石齋畫報(bào)等)。這次收到的要求是,按不同需要分配產(chǎn)品權(quán)限:如單個(gè)產(chǎn)品的試用、單個(gè)產(chǎn)品類的試用。

    按照慣例,類似這種臨時(shí)性的數(shù)據(jù)處理請求,以SQL存儲過程的方式來完成數(shù)據(jù)處理的相關(guān)任務(wù),再根據(jù)實(shí)際需要,評估是否需要將該功能加到平臺應(yīng)用中。

    1 單個(gè)產(chǎn)品的試用權(quán)限

    這里要做的是為每一個(gè)試用賬號在產(chǎn)品試用表中添加一條記錄,由于需要對試用賬號這個(gè)查詢結(jié)果集進(jìn)行逐行處理,因此,需要使用一個(gè)游標(biāo)來實(shí)現(xiàn),具體如下:

    ……

    DECLARE @trid INT

    DECLARE @cp INT

    DECLARE usr CURSOR FOR

    SELECT

    trial_id

    FROM trialusr

    OPEN usr

    FETCH NEXT FROM usr INTO @trid

    WHILE @@fetch_status = 0

    BEGIN

    SET @cp = X /* X為任意數(shù)字 */

    BEGIN TRANSACTION;

    INSERT INTO trialcp(trial_id,cp,start,end)

    VALUES(@trid,@cp,GETDATE(),(GETDATE()+7))

    COMMIT;

    FETCH NEXT FROM usr INTO @trid

    END

    CLOSE usr

    DEALLOCATE usr

    ……

    2 單個(gè)產(chǎn)品類的試用權(quán)限

    在這個(gè)需求中,有2個(gè)結(jié)果集,一個(gè)是試用賬號,另一個(gè)是產(chǎn)品類中的產(chǎn)品id,并且兩者都需要進(jìn)行逐行處理,以實(shí)現(xiàn)一對一的關(guān)系,因此考慮使用2個(gè)游標(biāo),并且嵌套使用,具體如下:

    ……

    DECLARE @trid INT

    DECLARE @cpl varchar(50)

    DECLARE @cp INT

    SET @cpl=捪摯饕?1950~)?

    DECLARE usr CURSOR FOR

    SELECT

    trial_id

    FROM trialusr

    OPEN usr

    FETCH NEXT FROM usr INTO @trid

    WHILE @@fetch_status = 0

    BEGIN

    BEGIN

    DECLARE cur_cp CURSOR FOR

    SELECT cpid

    FROM cplist

    WHERE cpl = @cpl

    OPEN cur_cp

    FETCH NEXT FROM cur_cp INTO @cp

    WHILE @@fetch_status = 0

    BEGIN

    BEGIN TRANSACTION;

    INSERT INTO trialcp(trial_id,cp,start,end)

    VALUES(@trid,@cp,GETDATE(),(GETDATE()+7))

    COMMIT;

    FETCH NEXT FROM cur_cp INTO @cp

    END

    CLOSE cur_cp

    DEALLOCATE cur_cp

    FETCH NEXT FROM usr INTO @trid

    END

    CLOSE usr

    DEALLOCATE usr

    ……

    以上,是根據(jù)服務(wù)組提出的技術(shù)支持需求,形成的解決方案,在測試數(shù)據(jù)庫中測試及調(diào)試后,證實(shí)該方案可行,并準(zhǔn)確實(shí)現(xiàn)了服務(wù)組的要求。

    3 結(jié)語

    關(guān)系數(shù)據(jù)庫中的操作會對整個(gè)行集起作用。由SELECT語句返回的行集包括滿足該語句的WHERE子句中條件的所有行。這種由語句返回的完整行集稱為結(jié)果集。應(yīng)用程序,特別是交互式聯(lián)機(jī)應(yīng)用程序,并不總能將整個(gè)結(jié)果集作為一個(gè)單元來有效地處理。這些應(yīng)用程序需要一種機(jī)制以便每次處理一行或一部分行。游標(biāo)就是提供這種機(jī)制的對結(jié)果集的一種擴(kuò)展。[2]

    本次技術(shù)支持任務(wù)中,嘗試了通過游標(biāo)的使用,來實(shí)現(xiàn)批量數(shù)據(jù)的逐行處理。在數(shù)據(jù)處理的工作中,經(jīng)常會遇到類似對數(shù)據(jù)集進(jìn)行逐行處理的任務(wù),希望本實(shí)例,可以為SQL的初學(xué)者提供參考。

    參考文獻(xiàn)

    [1] 《全國報(bào)刊索引》二次文獻(xiàn)共建共享網(wǎng)絡(luò)服務(wù)平臺數(shù)據(jù)庫資源介紹[EB/OL].http://www.cnbksy.com/shlib_tsdc/product/list.do.

    [2] MSDN—Transact-SQL 參考:游標(biāo)(數(shù)據(jù)庫引擎)[EB/OL].http://msdn.microsoft.com/zh-cn/library/ms191179(v=sql.105).aspx.endprint

    双辽市| 习水县| 进贤县| 连云港市| 保康县| 礼泉县| 虎林市| 萍乡市| 横山县| 龙门县| 紫云| 白河县| 温泉县| 康马县| 连平县| 红原县| 开封市| 乳山市| 许昌市| 黎城县| 普格县| 安徽省| 彭水| 汝州市| 沭阳县| 吉安市| 新乡县| 万宁市| 光山县| 安泽县| 丽江市| 伊川县| 凤凰县| 伊春市| 凌海市| 卢氏县| 惠东县| 泸州市| 重庆市| 察哈| 乌拉特中旗|