0
DROP PROCEDURE IF EXISTS test_00.ROWPERROW;

DELIMITER $$
$$
CREATE PROCEDURE test_00.ROWPERROW()
BEGIN
  DECLARE done INT DEFAULT 0;
  DECLARE n INT DEFAULT 0;
  DECLARE i INT DEFAULT 0;
  SELECT COUNT(*) FROM test_00.test_deposit_first INTO n;
  DECLARE a, b BIGINT(20) UNSIGNED;
  DECLARE c TINYINT(1) UNSIGNED; 
  DECLARE d DECIMAL(20,8);
  DECLARE e,f INT(10) UNSIGNED;
  DECLARE g TINYINT(1) UNSIGNED;
  DECLARE cur1 CURSOR FOR SELECT dno,uid,dptype,amount,created,updated,status FROM test_00.test_deposit_first;
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

  OPEN cur1;

  REPEAT
    FETCH cur1 INTO a, b, c, d, e, f, g;
    IF NOT done THEN
        insert into test_00.test_deposit_third(dno,uid,dptype,amount,created,updated,status) VALUES(a, b, c, d, e, f, g);
    END IF;
    UNTIL done END REPEAT;
   
    CLOSE cur1;
END$$
DELIMITER ;

我收到错误:

SQL 错误 [1064] [42000]:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 'DECLARE a, b BIGINT(20) UNSIGNED; 附近使用正确的语法;声明 c TINYINT(1) 无符号;第 7 行的 DECLARE ' 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 'DECLARE a, b BIGINT(20) UNSIGNED; 附近使用正确的语法;声明 c TINYINT(1) 无符号;第 7 行的 DECLARE ' 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 'DECLARE a, b BIGINT(20) UNSIGNED; 附近使用正确的语法;声明 c TINYINT(1) 无符号;声明 ' 在第 7 行

请帮助我:o

4

0 回答 0