我一直在调试一个 SQL 存储过程,它必须根据表 C 中存在的值(ID)从表 A 中获取值(在我的代码 ID 和 Numb 中),然后将 Numb 平方并将其存储在表 B 中,即所有事物 ID、Numb 和 Square。我无法在下面的代码中找出问题
DELIMITER $$
CREATE PROCEDURE matlab.squaring
BEGIN
DECLARE finish BOOLEAN DEFAULT 0; # <- set up initial conditions
DECLARE square BIGINT(10);
DECLARE ID INT(10);
DECLARE Numb INT (10);
DECLARE id_cur CURSOR FOR
SELECT ID, Numb FROM A WHERE EXISTS ( SELECT ID FROM c);
SET @square= @Numb * @Numb
INSERT INTO B
(
ID ,
Numb ,
square
) values ( ID , Numb, square);
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finish = TRUE;
OPEN id_cur;
the_loop : LOOP
FETCH id_cur INTO ID;
IF finish THEN
CLOSE id_cur;
LEAVE the_loop;
END IF
END LOOP the_loop;
END$$
当我运行存储过程时,弹出的错误是“您的代码中似乎有一些语法错误,请参考MYSql指南。”
编辑:请提供更多帮助,请如何执行此存储过程。