麻烦大家看看这个Mysql 的存储过程错在哪?该如何处理

麻烦大家看看这个Mysql 的存储过程错在哪?

create procedure p1()

  BEGIN

  DECLARE v INT;

SET @uuid1 = UUID();

  SET v=0;

  WHILE v<2 DO

  INSERT INTO t1(id1,@uuid1);

  SET v= v+1;

  END WHILE;

  END;

   

而t1表结构是

create table t1(

  id1 int(10) not null primary key AUTO_INCREMENT,

  t1c1 varchar(100))AUTO_INCREMENT = 1;

ERROR 1064 (42000): You have an error in your SQL syntax;


SQL code

mysql> delimiter //
mysql>
mysql> create procedure p1()
    -> BEGIN
    -> DECLARE v INT;
    -> SET @uuid1 = UUID();
    -> SET v=0;
    -> WHILE v<2 DO
    ->  INSERT INTO t1 values (id1,@uuid1); -- ACMAIN values !
    -> SET v= v+1;
    -> END WHILE;
    -> END;
    -> //
Query OK, 0 rows affected (0.00 sec)

mysql> delimiter ;
mysql>


DELIMITER $$
DROP PROCEDURE IF EXISTS ddt$$
CREATE PROCEDURE `testa`.`ddt`()
BEGIN
DECLARE v INTEGER;
SET @uuid1=UUID();
SET v=0;
WHILE v<2 DO
INSERT INTO t1 VALUES(id1,@uuid1);
SET v= v+1;
END WHILE;
END$$

DELIMITER ;

SET @uuid1 = UUID(); @uuid2 = UUID();@uuid3 = UUID(); @uuid4 = UUID();@uuid5 = UUID(); @uuid6 = UUID();@uuid7 = UUID(); @uuid8 = UUID();@uuid9 = UUID(); @uuid10 = UUID();@uuid11 = UUID();@uuid12 = UUID();@uuid13 = UUID();@uuid14 = UUID();@uuid15 = UUID();@uuid16 = UUID();@uuid17= UUID();@uuid18 = UUID();@uuid19 = UUID();@uuid20 = UUID();

分号改成逗号!

mysql> set @x=1,@y=2;
Query OK, 0 rows affected (0.00 sec)
麻烦大家看看这个Mysql 的存储过程错在哪?该如何处理

相关文章:

你感兴趣的文章:

标签云: