游标(MYSQL必知必会)有错

使用游标之前要 在 学会循环 前提下。

下面代码有错,以此标记。

DELIMITER $$
# 建立一个存储过程
#  OUT num1 INT   这个意思为 : 输出的变量num1, int类型 
#  @变量   称为用户变量,  用户变量存在于表的数据。 表中有emp_no这个字段, 那么@emp_no  就变成了一个用户变量

# create procedure youbiao(out num1 int)

CREATE PROCEDURE youbiao2()

BEGIN

# 预先声明一个局部变量, int类型, 默认值为0
  DECLARE var_num2 INT DEFAULT 0;
  
  # 声明一个局部变量 , int 类型, 默认值为0
  DECLARE var_counter INT DEFAULT 0;
  
  # 声明游标
  #提取数据到一个结果集里面,而游标resultEmp就是里面的指针, 结果集类似于Java中的list集合
  DECLARE resultEmp CURSOR FOR 
      SELECT emp_no FROM employees;
  
# 打开游标
#  打开指针这个意思
   OPEN resultEmp ;
   
    # 循环开始
   LOOP 
      var_counter =     var_counter + 1;
      
   
   
#使用游标   (游标一般使用在循环里面。)
   # 指针从0开始遍历, 读取当前行,完成后将结果集赋予 变量var_num2, 然后指针指向下一行
  
   FETCH resultEmp INTO var_num2;
   var_num2=var_num2 + 1;
   
   #循环结束
   
   EXIT WHEN var_counter = 5;
   END LOOP;
   
   
 #关闭游标
   CLOSE resultEmp;
  
  END$$
  
DELIMITER $$;



# 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。