>  기사  >  데이터 베이스  >  MySQL游标语法实例_MySQL

MySQL游标语法实例_MySQL

WBOY
WBOY원래의
2016-06-01 13:39:111056검색

bitsCN.com


MySQL游标语法实例

 

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; 

 

bitsCN.com
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.