Mysql,在程序中声明游标之前插入

时间:2015-04-02 20:53:00

标签: mysql

在程序中声明游标之前,可以在表中插入值吗?我需要插入值才能在游标中使用它。像这样的东西:

DELIMITER $$
CREATE PROCEDURE proc(IN val_1 VARCHAR(45),IN val_2 VARCHAR(45),IN val_3 INT,IN val_4 SMALLINT)

BEGIN
insert into table1 (value1,value2,value3,value4) values (val_1,val_2,val_3,val_4);

DECLARE cursor1 CURSOR 
FOR

select value1 from table1 order by value1 asc limit 1;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cursor1;
read_loop: LOOP

FETCH cursor1 into a;

IF done THEN
leave read_loop;


END $$

1 个答案:

答案 0 :(得分:0)

DECLARE只允许在BEGIN ... END复合语句中使用,并且必须在任何其他语句之前的开头。

声明必须遵循一定的顺序。游标声明必须出现在处理程序声明之前。变量和条件声明必须出现在游标或处理程序声明之前。

所以,在宣布你的insert statement之前,你不能拥有cursor

将来只需转到dev.mysql