【发布时间】:2013-07-16 18:34:27
【问题描述】:
我有以下存储过程
CREATE PROCEDURE `update_ordenes`()
BEGIN
DECLARE record CURSOR FOR
SELECT ordenes.idorden, ordenes.idafiliado
FROM ordenes, afiliados
WHERE afiliados.idafiliado = ordenes.idafiliado;
OPEN record;
REPEAT
FETCH record INTO @id_orden, @id_afil_viejo;
INSERT INTO afil2(nombre, apellido, documento)
(SELECT nombre, apellido, documento
FROM afiliados
WHERE idafiliado = @id_afil_viejo);
SET @last_id = (SELECT id FROM afil2 ORDER BY id DESC LIMIT 1);
UPDATE ordenes
SET afil2 = @last_id,
ordenes.idafiliado = NULL
WHERE ordenes.idafiliado = @id_afil_viejo
AND ordenes.idorden = @orden_id;
UNTIL done END REPEAT;
END
由于某种原因,我在FETCH record INTO @id_orden, @id_afil_viejo; 行收到语法错误
在mysql documentation 中我可以运行SELECT id, data INTO @x, @y FROM test.t1 LIMIT 1;。
是FETCH的使用有问题吗?或者有什么问题?
【问题讨论】:
标签: mysql stored-procedures user-variables