#cursor游标,游动的标志
#1条sql对应的n 条结果集资源,去出资源的接口、句柄,就是游标
#沿着游标可以一次去出一行
#declare 声明,declare 游标名 cursor for select_statement
#fetch 取值, fetch 游标名 into vary1,vary2
#close关闭
#在mysql中可以声明continu handler可以操作越界标志
#DECLARE CONTINUE HANDLER for not FOUND statementss
#CREATE PROCEDURE cursor_游标continue_not_found()
CREATE PROCEDURE cursor_游标3()
BEGIN
DECLARE row_gid bigint(20);
DECLARE row_num VARCHAR(20);
DECLARE row_name bigint(20);
DECLARE you int default 1;
DECLARE getgoods cursor for SELECT employee_id,employee_name,employee_salary from employees;
#如果取到最后没有直了就设置为0
DECLARE EXIT HANDLER FOR NOT FOUND SET you:=0;
#打开游标
open getgoods;
#创建表,如果存在就删除
drop table if exists AA;
create table AA(employee_id NVarChar(50),employee_name NVarChar(50),employee_salary int);
#循环取出
repeat
fetch getgoods INTO row_gid,row_num,row_name;
insert into AA (select row_gid,row_num,row_name);
until you=0 end repeat;
#关闭游标
close getgoods;
END
#1条sql对应的n 条结果集资源,去出资源的接口、句柄,就是游标
#沿着游标可以一次去出一行
#declare 声明,declare 游标名 cursor for select_statement
#fetch 取值, fetch 游标名 into vary1,vary2
#close关闭
#在mysql中可以声明continu handler可以操作越界标志
#DECLARE CONTINUE HANDLER for not FOUND statementss
#CREATE PROCEDURE cursor_游标continue_not_found()
CREATE PROCEDURE cursor_游标3()
BEGIN
DECLARE row_gid bigint(20);
DECLARE row_num VARCHAR(20);
DECLARE row_name bigint(20);
DECLARE you int default 1;
DECLARE getgoods cursor for SELECT employee_id,employee_name,employee_salary from employees;
#如果取到最后没有直了就设置为0
DECLARE EXIT HANDLER FOR NOT FOUND SET you:=0;
#打开游标
open getgoods;
#创建表,如果存在就删除
drop table if exists AA;
create table AA(employee_id NVarChar(50),employee_name NVarChar(50),employee_salary int);
#循环取出
repeat
fetch getgoods INTO row_gid,row_num,row_name;
insert into AA (select row_gid,row_num,row_name);
until you=0 end repeat;
#关闭游标
close getgoods;
END