日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql begin end 用法_MySQL ------ 游标(CURSOR)(二十六)

發布時間:2024/7/23 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql begin end 用法_MySQL ------ 游标(CURSOR)(二十六) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MySQL執行檢索操作會返回一組稱為結果集的行,這組返回的行都是與SQL 語句相匹配的行(零行或多行),但是,使用簡單的select 語句,沒有辦法得到第一行、下一行、或前十行,也不存在一行地處理所有行簡單方法(也就是成批地處理它們),而有時,需要在檢索出來的行中前進或后退一行或多行,怎么辦來,之前了解的很難實現,那么本節的游標就可實現,,

游標(cursor):一個存儲在mysql服務器上數據庫查詢,它不是一條select 語句,而是被語句檢索出來的結果集。

好處:在存儲了游標之后,應用程序可以根據需要滾動或瀏覽其中的數據。

主要用于:交互式應用,其中用戶需要滾動屏幕上的數據,并對數據進行瀏覽或做出更改。

注意:不像多數DBMS,MySQL游標只能用于存儲過程和函數。

版本:MySQL 5 添加了對游標的支持,要使用的話MySQL版本需要在mysql 5 及以后的版本

one、注意使用游標的主要步驟:

1、在能夠使用游標前,必須聲明(定義)它。這個過程實際上沒有檢索數據,他只是使用select 語句。

2、一旦聲明后,必須打開游標以供使用。這個過程用前面定義的select 語句把數據實際檢索出來

3、對于填有數據游標,根據需要取出(檢索)各行。

4、在結束游標使用時,必須關閉游標

在聲明游標后,可根據需要頻繁地打開和關閉游標。在游標打開后,可根據需要頻繁地執行取操作。

two、創建游標

游標用declare 語句創建。DECLARE 命名游標,并定義相應地select 語句,根據需要帶where 和其他子句。

下面在存儲過程中使用declare 定義一個游標,存儲過程完成后游標也相應消失。

-- declare 游標名稱 cursor for 查詢語句

打開和關閉游標

--- OPEN 游標名;

在處理open 語句時執行查詢,存儲檢索出地數據以供瀏覽和滾動游標處理后,要關閉游標

--- CLOSE 游標名;

close會釋放游標使用的所有內部內存和資源,所有游標使用后都要進行關閉操作

在一個游標關閉后,如果沒有重新打開,則不能使用它。但是使用聲明過的游標不需要再次聲明,使用open 語句打開就行。

如果不明確的關閉游標,mysql 將會在到達end 語句的時候自動關閉它。

上述可以修改為:

mysql

上述的存儲過程聲明、打開和關閉一個游標,但對檢索出的數據什么也沒有做

three、使用游標數據 FETCH

在一個游標被打開后,可以使用 fetch 語句分別訪問它的每一行。

fetch 指定檢索什么數據(所需的列),檢索出來的數據存儲在什么地方。還向前移動游標中的內部指針,使下一條fetch語句檢索下一行(避免重復讀取一行)。

-- 從游標中檢索單個行(第一行)

fetch 檢索當前行的order_num 列(將自動從第一行開始)買到一個名為onum 的局部變量中,對檢索出的數據不做任何處理。

-- 循環檢索數據,從第一行到最后一行

上述使用fetch 檢索當前order_num 到聲明為onum 的變量中,但是 這個fetch 在repeat 內,因此他會反復執行直到done 為真(由nutil done end repeat ;規定)為使它起作用用一個defaut 0 定義變量 done ,那么done 根據以下代碼設置為真

declare continue handler for sqlstate '02000' set done=1;

上述,定義了一個CONTINUE HANDLER(繼續處理程序) ,他是在條件出現時執行的代碼,這里是指當SQLSTATE '02000' 出現時,SET done =1.

SQLSTATE '02000' 是一個未找到條件,當REPEAT 由于沒有更多的行供循環而不能繼續時出現

four、注意:

1、declare 語句的發布存在特定的次序,用戶declare 語句定義的局部變量必須定義任意游標或句柄之前的定義,而句柄必須在游標之后定義,不遵守此順序將產生錯誤信息。

2、如果調用這個存儲過程,他將定義幾個變量和一個continue handler ,定義并打開一個游標,重復讀取所有的行,然后關閉游標。如果一切正常可以在循環內放入任意需要的處理(在fetch 語句之后,循環結束之前)

3、除了repeat 語句外,MySQL 還支持循環語句,它可以用來重復執行代碼,直到使用 LEAVE 語句手動退出為止,通常REPEAT 語句的語法使它更適合于對游標進行循環。

總結

以上是生活随笔為你收集整理的mysql begin end 用法_MySQL ------ 游标(CURSOR)(二十六)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色a免费| 色播放| 一区二区视频观看 | 可以免费观看的毛片 | 夜夜草导航 | 午夜国产福利在线观看 | 日日麻批 | 性色一区二区三区 | 精品国产一区二区三区久久久蜜月 | 8x国产一区二区三区精品推荐 | 黄网站免费看 | 国产精品一区av | 精品在线视频免费 | a国产精品 | 伦理黄色片 | 九草网 | 69xx网站 | 久久在线视频免费观看 | 亚洲综合视频在线观看 | 久久久久激情 | 久久伊人亚洲 | 手机看片欧美日韩 | 欧美国产专区 | 国产每日更新 | 99视频精品 | 自拍 偷拍 欧美 | 国产乱人乱精一区二视频国产精品 | 女同二区| 国产精品国产馆在线真实露脸 | 色天天干 | 国产综合第一页 | 青娱乐在线免费观看 | 中文字幕在线观看欧美 | 天天射狠狠干 | 久久久无码一区二区三区 | 精品国产九九九 | 在线你懂 | 黄色欧美在线观看 | 黑人精品无码一区二区三区AV | 狠狠看| 久草免费福利 | 国产欧美综合一区二区三区 | 国产在线观看一区 | a级黄色片免费看 | 日韩无套 | 超碰午夜 | 性一交一乱一精一晶 | 国产性生活一级片 | 日韩成人性视频 | 国产精品伦一区二区三区免费看 | 欧美日韩亚洲精品一区二区 | 青青草av在线播放 | 中文字幕免费视频观看 | 三区四区 | 日本资源在线 | 韩日一区 | 免费在线观看www | 国产女人18毛片水真多1 | 亚洲黄色精品视频 | 久久精品无码毛片 | 中文字幕色片 | 久久久天堂国产精品女人 | aaa黄色片| 97精品人妻一区二区三区 | 超碰caopeng| 老司机精品福利视频 | 毛片123| 成人激情四射网 | 日本不卡高字幕在线2019 | 一区精品视频在线观看 | 永久免费黄色 | 黄色三级在线 | 亚洲欧美bt| 亚洲欧美91 | 日韩在线不卡 | 女同视频网站 | 神马午夜精品95 | 欧美aaa一级片 | 亚洲天堂视频在线观看 | 哈利波特3在线观看免费版英文版 | 久艹在线观看视频 | 9i免费看片黄 | 操色网| 亚洲色图另类小说 | 亚洲色中色 | 国产高潮又爽又无遮挡又免费 | 久久在线视频免费观看 | 欧洲精品码一区二区三区免费看 | 精品99久久久久成人网站免费 | 双性受孕h堵精大肚生子 | 日本亚洲精品 | 日韩欧美在线中文字幕 | 国产人妻互换一区二区 | 国产福利精品视频 | 国产大片一区二区三区 | 亚洲一区二区日韩 | 女同av在线 | 99精品久久久久久中文字幕 | 奇米视频在线观看 |