首页  >  文章  >  数据库  >  MySQL游标语法实例

MySQL游标语法实例

WBOY
WBOY原创
2016-06-07 15:14:031376浏览

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 1、基本语法: Sql代码 #定义游标 declare fetchSeqCursor cursor for select seqname, value from sys_sequence; #使用游标 open fetchSeqCursor; #fetch数据 fetch cursor into _seqname, _value;

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  1、基本语法:

  Sql代码

  #定义游标

  declare fetchSeqCursor cursor for select seqname, value from sys_sequence;

  #使用游标

  open fetchSeqCursor;

  #fetch数据

  fetch cursor into _seqname, _value;

  #关闭游标

  close fetchSeqCursor;

  2、单游标例子:

  Sql代码

  ## define the flag for loop judgement

  declare fetchSeqOk boolean;

  ## define the varient for store the data

  declare _seqname varchar(50);

  declare _value bigint(20);

  ## define the cursor

  declare fetchSeqCursor cursor for select seqname, value from sys_sequence;

  ## define the continue handler for not found flag

  declare continue handler for NOT FOUND set fetchSeqOk = true;

  set fetchSeqOk = false;

  open fetchSeqCursor;

  fetchSeqLoop:Loop

  if fetchSeqOk then

  leave fetchSeqLoop;

  else

  fetch cursor into _seqname, _value;

  select _seqname, _value;

  end if;

  end Loop;

  close fetchSeqCursor;

  3、嵌套的游标循环

  Java代码

  ## define the flag for loop judgement

  declare fetchSeqOk boolean;

  ## define the varient for store the data

  declare _seqname varchar(50);

  declare _value bigint(20);

  ## define the cursor

  declare fetchSeqCursor cursor for select seqname, value from sys_sequence;

  ## define the continue handler for not found flag

  declare continue handler for NOT FOUND set fetchSeqOk = true;

  set fetchSeqOk = false;

  open fetchSeqCursor;

  fetchSeqLoop:Loop

  if fetchSeqOk then

  leave fetchSeqLoop;

  else

  fetch cursor into _seqname, _value;

  #嵌套的游标循环

  begin

  declare fetchSeqOk boolean default 'inner';

  ## define the cursor

  declare cursor2 cursor for select .... from ...;

  ## define the continue handler for not

  declare continue handler for NOT FOUND set fetchSeqOk = true;

  set fetchSeqOk = false;

  open cursor2;

  fetchloop2 loop

  if fetchSeqOk then

  else

  end if;

  end loop;

  close cursor2;

  end;

  #嵌套的游标循环结束

  end if;

  end Loop;

  close fetchSeqCursor;

MySQL游标语法实例

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn