0

HeidiSQL を通じて MySQL 5.6.10 を使用しています。単純なループに従って hte を実行していますが、構文エラーが発生します。

    DELIMITER $$
    DROP PROCEDURE IF EXISTS testif $$
    CREATE PROCEDURE testif()
    SET @number_title = 0;
    SET @max = (select count(distinct ctitle) FROM wb_hp_customers.hp_customers_final);
    BEGIN
    label1: LOOP
    IF (@number_title<@max) ITERATE label1;
    END IF;
    @number_title = @number_title + 1;
LEAVE label1;
END LOOP label1;
    END $$  
    DELIMITER ;

    CALL testif();

私が得るエラーは次のとおりです。

SQL エラー (1064) : SQL 構文にエラーがあります。label1: LOOP の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

誰か助けてくれませんか?

ありがとう

4

2 に答える 2

0

END LOOP ラベル 1 がないようです。あなたのコードで。

LOOP プロトコルの詳しい説明は次のとおりです: http://dev.mysql.com/doc/refman/5.6/en/loop.html

于 2013-07-03T22:22:34.697 に答える