0

テーブル 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つ助けてください。

4

3 に答える 3