關於游標是如何使用的呢?大家一起來看看吧

2021-05-28 05:37:49 字數 3381 閱讀 3225

如何使用游標?

使用游標的4條特殊語句

1)、宣告游標

宣告格式:

declare  游標名  cursor  for  select  (返回一行或多行資料)

select語句中不能有into子句,乙個塊中的每個游標必須有唯一的名字。

游標只能在儲存過程或儲存函式中使用,語句不能單獨執行。

2)、開啟游標

open  游標名;

這個比較簡單哦!

3)、讀取游標

fetch   游標名 into  var_name[,var_name]……

說明:fetch語句是將游標指向的一行資料賦給一些變數,子句中變數的數目必須等於宣告游標時select子句中列的數目。var_name 是存放資料的變數名。

4)、關閉游標

close 游標名;

不要忘記哦!

今天的小例項

1)、

mysql> create procedure p19(out para1 int)

-> begin

-> declare v int default 0;

-> declare c cursor for

-> select s1 from t1;

-> open c;

-> while v<5 do

-> fetch  c into para1;

-> set v=v+1;

-> end while;

-> close c;

-> end//

query ok, 0 rows affected (0.00 sec)

mysql> call p19(@x);//

query ok, 0 rows affected (0.00 sec)

mysql> select @x;//

+------+

| @x   |

+------+

| 90   |

+------+

1 row in set (0.00 sec)

2)、mysql> create procedure p20(out para1   int )

-> begin

-> declare  a boolean default true  ;

-> declare c cursor for

-> select s1 from t1 ;

-> declare exit  handler for not found

-> set a=false;

-> open c;

-> while a do

-> fetch c into para1;

-> end while;

-> close c;

-> end//

query ok, 0 rows affected (0.00 sec)

mysql>

mysql> call  p20(@x);//

query ok, 0 rows affected (0.00 sec)

mysql> select @x;

-> //

+------+

| @x   |

+------+

| 90   |

+------+

1 row in set (0.00 sec)

這兩個例子通過不同的方法,得到了相同的結果。

乙個簡單的小補充

mysql資料庫中,mysql語言的組成部分

1)       資料庫的定義語言(ddl)

包括:create alter  drop

2)       資料庫的操縱語言(dml)

包括:select(使用最頻繁的sql語句之一)  insert update delete(刪除)

3)       資料庫的控制語言(dcl)

包括:crant(授予許可權)  revoke(收回許可權)

關於認證的看法,歡迎大家一起討論

關於認證的看法 證書這真是個好東西啊!多少人為它花盡心思,花盡金錢的去得到它。它也正被人理解成。有了證書才能找到好的工作!沒錯,在以前的確是這樣。但現在已經發生了很多變化!以前考證書複習資料很少,要想考過試拿到證書,完全是通過努力得來的,而現在,考證書我大家都是在背題庫吧。考的人多了,當然就越來越不...

報告ArrayList的乙個錯誤,大家一起來研究下

目的 計算一段文字中重複出現的詞的個數。分兩種情況 1.文字在記憶體中 2.文字在硬碟檔案上 方案利用arraylist 宣告乙個類 public class entity color red 1.文字在記憶體中 color 主類中有以下 string words arraylistenlist n...

關於group by 和max函式一起使用的坑

前幾天去參加一場面試,面試過程中有被問到乙個sql語句的問題,很遺憾沒有回答上來,結果一面直接掛 問完這個問題後,當我聽到面試官對我說 你有什麼想問我的嗎?我的內心一片涼涼 其實面試官問的問題聽起來很簡單,一張劇目演出表,表中有 劇目id,劇目名稱,演出單位,票房 問 查詢出每個演出單位票房最高的劇...