標籤:ar os 使用 for sp on bs ef as
- MySQL遊標的使用
-
- A simple cursor of mysql
-
- step1:
- 建立表tb_test;
-
- create table tb_test(
- id int
- );
-
- insert into tb_test values (‘1‘);
- insert into tb_test values (‘2‘);
- insert into tb_test values (‘3‘);
-
- step2:
- 聲明預存程序sp_test;
-
- delimiter $$
- create procedure sp_test()
- BEGIN
- declare tmp int default 0;
- declare sum int default 0;
- declare done int default -1;
-
- /* 聲明遊標 */
- declare myCursor cursor for select id from tb_test;
-
- /* 當遊標到達尾部時,mysql自動化佈建done=1 */
- declare continue handler for not found set done=1;
-
- /* 開啟遊標 */
- open myCursor;
-
- /* 迴圈開始 */
- myLoop: LOOP
-
- /* 移動遊標並賦值 */
- fetch myCursor into tmp;
-
- if done = 1 then
- leave myLoop;
- end if;
-
- /* do something */
- set sum = sum + tmp;
-
- /* 迴圈結束 */
- end loop myLoop;
-
- insert into tb_test values(sum);
-
- /* 關閉遊標 */
- close myCursor;
- END
- $$
- delimiter ;
-
- step3:
- call sp_test();
- select * from tb_test();
- +----+
- | id |
- +----+
- | 1 |
- | 2 |
- | 3 |
- | 6 |
- +----+
MySQL遊標的使用