mysql不太熟,从网上拷贝的一段关于存储过程游标循环的写法,但运行不成功CREATE PROCEDURE new_procedure()
BEGIN
  DECLARE oName CHAR(255);
  DECLARE dName CHAR(255);
  DECLARE cur CURSOR FOR SELECT organizationName,dbName FROM universaldb.organization;
  DECLARE done INT DEFAULT FALSE;
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
  OPEN cur;
  read_loop:LOOP
    FETCH cur INTO oName,dName;
    IF done THEN
      LEAVE read_loop;
    END IF;
    select oName,dName;
  END LOOP;
  CLOSE cur;
END

解决方案 »

  1.   

    DECLARE oName CHAR(255);
      DECLARE dName CHAR(255);
      DECLARE done INT DEFAULT FALSE;
      DECLARE cur CURSOR FOR SELECT organizationName,dbName FROM universaldb.organization;
      DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
      
      

  2.   

    DECLARE done INT DEFAULT FALSE;定义的done是int类型的,但是默认值设置的是false,  false 不是int型的吧