亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SQL數(shù)據(jù)庫中基于游標的數(shù)據(jù)更新

        2015-04-16 01:30:10姚曦
        電腦與電信 2015年9期
        關鍵詞:游標關鍵字語句

        姚曦

        (福建衛(wèi)生職業(yè)技術學院公共基礎部,福建 福州 350101)

        1 游標的概念

        在數(shù)據(jù)庫的使用中,常常會遇到這種情況:用查詢語句,得到一個結(jié)果集,但對這個結(jié)果的操作不是相同的,需要根據(jù)不同的條件,對不同的記錄進行不同的處理。此時,就需要用到游標。

        游標實際上是一種能從包括多條記錄的結(jié)果集中每次提取一條記錄的機制。游標總是與一條SQL查詢語句相關聯(lián),允許應用程序?qū)ELECT語句返回的行結(jié)果集中每一行進行相同或不同的操作,而不是一次對整個結(jié)果集進行同一種操作。這種特性使得對數(shù)據(jù)的操縱十分靈活。

        2 游標的種類

        SQL支持三種類型的游標:Transact-SQL游標、API游標和客戶游標。

        Transact-SQL游標:T-SQL游標是由DECLARE CURSOR語句定義,主要用在腳本、存儲過程和觸發(fā)器中,應用在服務器上。

        API游標:API游標使用在客戶端與服務器端的連接程序中(如OLE DB和ODBC等)。

        客戶游標:客戶游標主要在當需要在客戶機上緩存結(jié)果集時使用。

        3 游標的使用步驟

        游標的操作可分為以下幾個步驟:

        3.1 聲明游標

        聲明游標的語法為:

        DECLARE<游標名>[INSENSITIVE][SCROLL]CURSOR

        FOR<SELECT語句>

        [FOR{READ ONLY|UPDATE][OF<列名>[,…n]]}]

        INSENSITIVE關鍵字:將取出的數(shù)據(jù)記錄放在一個臨時表內(nèi),對游標的讀取操作由臨時表來應答。游標不會隨著基表內(nèi)容的改變而改變,同時也無法通過游標來更新基本表。

        SCROLL關鍵字:表明所有的提取操作(FIRST,LAST,PRIOR,NEXT,RELATIVE,ABSOLUTE)等都可用,如不使用該保留字,只能進行NEXT操作。

        READ ONLY關鍵字:只讀游標。

        UPDATE關鍵字:可修改的游標,或指定修改的列。

        3.2 打開游標

        聲明游標后,如果要從游標中讀取數(shù)據(jù),必須打開游標。

        打開游標的語法為:

        OPEN[GLOBAL]<游標名>│<游標變量>

        在游標成功打開后,全局變量@@CURSOR_ROWS將用來記錄游標內(nèi)數(shù)據(jù)行數(shù)。變量返回值代表的狀態(tài)如表1所示。

        表1 @@CURSOR_ROWS變量的返回值

        3.3 讀取游標中的數(shù)據(jù)

        當游標成功打開以后,可以使用FETCH語句從中讀取數(shù)據(jù)。

        {{GLOBAL<游標名>}│<@游標變量>}

        [INTO@<變量名>[,…n]]

        NEXT│PRIOR│FIRST│LAST:用于說明讀取數(shù)據(jù)的位置。

        ABSOLUTE、RELATIVE:給出讀取數(shù)據(jù)的位置與游標頭或當前位置的關系。其中N必須為整型常量或變量。

        其中全局變量@@FETCH_STATUS返回上次執(zhí)行FETCH命令的狀態(tài)。在每次用FETCH從游標中讀取數(shù)據(jù)時,都應檢查該變量,以確定上次FETCH操作是否成功,來決定如何進行下一步處理。變量的返回值的狀態(tài)如表2所示。

        表2 @@FETCH_STATUS的返回值

        3.4 關閉游標

        CLOSE[GLOBAL]<游標名>|@<游標變量>

        游標關閉后,其定義仍在,需要時可用OPEN語句打開,再次使用。若確認游標不再需要,就要釋放其定義占用的系統(tǒng)空間,即刪除游標。

        DEALLOCATE[GLOBAL]<游標名>|@<游標變量>

        4 游標應用的實例

        案例說明:數(shù)據(jù)庫company中有兩張表。Salary顯示的是全體員工的工資表,工作一段時間后,公司將按照員工的工作情況給員工加工資,每個員工加的工資不一樣多,有的員工工資有調(diào)整,有的員工工資無調(diào)整。工資調(diào)整表為addincome。這種不是統(tǒng)一變動的情況,使用游標就非常靈活便捷。

        游標使用的具體代碼如下:

        select*from salary

        declare@id char(10),@salary int

        declare sa_cur1 cursor

        以上代碼說明:首先基于salary表生成一個更新游標的結(jié)果集。從中逐條讀取id參數(shù),將id參數(shù)存放在@id變量中。使用@id變量在addincome表中查詢是否有此@id員工,如果有此@id就表明,此@id的工資有調(diào)整,使用更新游標將調(diào)整的工資更新到salary表。如果無此@id就說明此@id的工資無調(diào)整,回到游標結(jié)果集中讀取下一條記錄。

        5 結(jié)論

        本文介紹了SQL數(shù)據(jù)庫中游標的概念,闡述了游標的類型及游標的使用步驟。最后通過一個更新工資表的實例說明游標的使用方法。

        [1]李丹.SQL Server2005數(shù)據(jù)庫管理與開發(fā)實用教程[M].北京:機械工業(yè)出版社,2010.

        [2]申時凱,戴祖誠,佘玉梅.數(shù)據(jù)庫原理與技術[M].北京:清華大學出版社,2010.

        猜你喜歡
        游標關鍵字語句
        開繞組直線游標永磁電機的矢量控制研究
        大電機技術(2022年3期)2022-08-06 07:48:26
        履職盡責求實效 真抓實干勇作為——十個關鍵字,盤點江蘇統(tǒng)戰(zhàn)的2021
        華人時刊(2022年1期)2022-04-26 13:39:28
        MySQL數(shù)據(jù)庫下游標的設計與應用
        測量不確定度在游標式輪對內(nèi)距尺檢定裝置中的應用
        重點:語句銜接
        成功避開“關鍵字”
        精彩語句
        如何搞定語句銜接題
        語文知識(2014年4期)2014-02-28 21:59:52
        基于用戶反饋的關系數(shù)據(jù)庫關鍵字查詢系統(tǒng)
        基于SQL游標的研究與應用
        国内精品卡一卡二卡三| 成人黄色片久久久大全| 变态另类手机版av天堂看网| 夜夜添夜夜添夜夜摸夜夜摸| 国产极品美女高潮无套在线观看| 亚洲无码观看a| 三级日本理论在线观看| 日本另类αv欧美另类aⅴ| 亚洲一区二区观看播放| jk制服黑色丝袜喷水视频国产| 亚洲专区路线一路线二网| 日日拍夜夜嗷嗷叫国产| 日本韩无专砖码高清| 白白青青视频在线免费观看 | 亚洲天堂av中文字幕在线观看 | 69av视频在线| 大香蕉青青草视频在线| 精品国产免费一区二区三区香蕉| 国产精品无码不卡一区二区三区| 国产高清一级毛片在线看| 国产av无毛无遮挡网站| 蜜臀av无码人妻精品| 狠干狠爱无码区| 久久亚洲精品国产精品婷婷| 国产在线观看自拍av| 人妻无码αv中文字幕久久琪琪布| 中文字幕人妻中文| 丝袜美腿亚洲综合一区| 久久精品国产亚洲av麻豆图片| 九九热在线视频观看这里只有精品| 少妇av免费在线播放| 亚洲视频免费一区二区| 国产精品夜间视频香蕉| 日本a在线播放| av在线播放中文专区| 99国产精品自在自在久久| 无遮挡网站| 亚洲乱码中文字幕第一页| 国自产拍偷拍精品啪啪一区二区| 色两性网欧美| 成人免费毛片在线播放|