站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        mysql存儲(chǔ)過(guò)程的游標(biāo)是什么

        在mysql存儲(chǔ)過(guò)程中,游標(biāo)也稱為光標(biāo),是一個(gè)存儲(chǔ)在DBMS服務(wù)器上的數(shù)據(jù)庫(kù)查詢,是檢索操作返回一組結(jié)果集,一般用于對(duì)檢索出來(lái)的數(shù)據(jù)進(jìn)行前進(jìn)或者后退操作。

        mysql存儲(chǔ)過(guò)程的游標(biāo)是什么

        本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。

        在 MySQL 中,存儲(chǔ)過(guò)程或函數(shù)中的查詢有時(shí)會(huì)返回多條記錄,而使用簡(jiǎn)單的 SELECT 語(yǔ)句,沒(méi)有辦法得到第一行、下一行或前十行的數(shù)據(jù),這時(shí)可以使用游標(biāo)來(lái)逐條讀取查詢結(jié)果集中的記錄。游標(biāo)在部分資料中也被稱為光標(biāo)。

        游標(biāo)簡(jiǎn)介

        1、游標(biāo):也稱為光標(biāo),是一個(gè)存儲(chǔ)在DBMS服務(wù)器上的數(shù)據(jù)庫(kù)查詢,它不是一條select語(yǔ)句,而是被該語(yǔ)句檢索出來(lái)的結(jié)果集。

        2、用途:對(duì)檢索出來(lái)的數(shù)據(jù)進(jìn)行前進(jìn)或者后退操作,主要用于交互式應(yīng)用,如用戶滾動(dòng)屏幕上的數(shù)據(jù)

        3、特性:

        • 能夠標(biāo)記游標(biāo)為只讀,使數(shù)據(jù)能讀取,但不能更新和刪除
        • 能控制可以執(zhí)行的定向操作(向前、向后、第一、最后、絕對(duì)位置、相對(duì)位置等)
        • 能標(biāo)記某些列為可編輯的,某些列為不可編輯的
        • 規(guī)定范圍,使游標(biāo)對(duì)創(chuàng)建它的特定請(qǐng)求(如存儲(chǔ)過(guò)程)或?qū)λ姓?qǐng)求可訪問(wèn)
        • 只是DBMS對(duì)檢索出的數(shù)據(jù)(而不是指出表中活動(dòng)數(shù)據(jù))進(jìn)行復(fù)制,使數(shù)據(jù)在游標(biāo)打開和訪問(wèn)期間不變化

        4、支持游標(biāo)的DBMS:DB2、MariaDB、MySQL 5、SQL Server、SQLite、Oracle和PostgreSQL,而Microsoft Access不支持

        5、游標(biāo)對(duì)基于Web的應(yīng)用用處不大(ASP、ASP.NET、ColdFusion、PHP、Python、Ruby、JSP等),大多數(shù)Web應(yīng)用開發(fā)人員不使用游標(biāo)

        6、使用:

        • 聲明游標(biāo): DECLARE cursor_name CURSOR FOR SELECT * FROM table_name; // 還沒(méi)有檢索數(shù)據(jù)
        -- MySQL游標(biāo)的聲明 DECLARE cursor_name CURSOR FOR select_statement  -- SQL Server游標(biāo)的聲明 DECLARE cursor_name CURSOR FOR select_statement [FOR [READ ONLY | UPDATE {[co lumn_list]}]]  -- Oracle游標(biāo)的聲明 DECLARE CORSOR cursor_name IS {select_statement}
        • 打開游標(biāo):OPEN cursor_name; // 開始檢索數(shù)據(jù),即指定游標(biāo)的SELECT語(yǔ)句被執(zhí)行,并且查詢的結(jié)果集被保存在內(nèi)存里的特定區(qū)域。
        -- MySQL打開游標(biāo) OPEN cursor_name   -- SQL Server打開游標(biāo) OPEN cursor_name   -- Oracle打開游標(biāo) OPEN cursor_name [param1 [, param2]]
        • 獲取數(shù)據(jù):FETCH cursor_name into var1,var2,…,varn; // 當(dāng)游標(biāo)cursor_name檢索完數(shù)據(jù)后,只有等到下一次fetch時(shí)才會(huì)觸發(fā)結(jié)束的標(biāo)志
        -- MySQL游標(biāo)獲取數(shù)據(jù) FETCH cursor_name INTO var1_name [, var2_name] ...   -- SQL Server游標(biāo)獲取數(shù)據(jù) FETCH NEXT FROM cursor_name [INTO fetch_list]   -- Oracle游標(biāo)獲取數(shù)據(jù) FETCH cursor_name  {INTO : host_var1 [[INDICATOR] : indicator_var1] [, : host_var2 [[INDICATOR] : indicator_var2]] | USING DESCRIPTOR DESCRIPTOR}
        • 關(guān)閉游標(biāo):CLOSE cursor_name;
        -- MySQL關(guān)閉游標(biāo),會(huì)主動(dòng)釋放資源,所以不需要DEALLOCATE語(yǔ)句 CLOSE cursor_name   -- SQL Server關(guān)閉游標(biāo)和釋放資源 CLOSE cursor_name DEALLOCATE cursor_name   -- Oracle關(guān)閉游標(biāo),會(huì)主動(dòng)釋放資源,所以不需要DEALLOCATE語(yǔ)句 CLOSE cursor_name

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 麻豆精品久久久一区二区| 国产精品五月天强力打造| 国产精品麻豆高清在线观看 | 精品人妻无码专区中文字幕| www.99精品| 无码精品人妻一区二区三区漫画| 国产乱子伦精品免费视频| 国产精品久久久久久久久鸭| 亚洲AV成人无码久久精品老人| 久久99精品久久久久久水蜜桃| 91精品国产品国语在线不卡| 91精品国产综合久久婷婷| 日韩精品中文字幕无码一区| 午夜成人精品福利网站在线观看 | 精品国产一级在线观看| 亚洲精品无码不卡| 国内精品久久国产大陆| 精品国产乱码久久久久久郑州公司 | 99久久精品这里只有精品| 亚洲精品国偷自产在线| 国产精品毛片一区二区| 精品999久久久久久中文字幕| 精品无码AV无码免费专区| 无码人妻精品一区二区三区久久久| 亚洲精品高清一二区久久| 欧美精品成人3d在线| 麻豆精品| 四虎精品亚洲一区二区三区| 久久无码精品一区二区三区| 久久久精品久久久久久 | 毛片a精品**国产| 国产偷伦精品视频| 国产精品狼人久久久久影院| 99久久99久久精品国产| 99久久99久久精品国产片果冻| 久久亚洲精品视频| 久久er热视频在这里精品| 九九精品成人免费国产片| 国产第一福利精品导航| 奇米精品一区二区三区在线观看| 国产亚洲美女精品久久久久狼|