テーブル C に存在する値 (ID) に基づいてテーブル A から (コード ID と Numb で) 値を取得し、Numb を 2 乗してテーブル B に格納する必要がある SQL ストアド プロシージャをデバッグしています。 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 ガイドを参照してください。」というエラーが表示されます。
編集:このストアドプロシージャを実行する方法をもう1つ助けてください。