1

これでエラーが発生する理由がわかりません。ループ内で変数「art」を使用することはできません。しかし、私がちょうどするとき

 select art;

正しいアイテム数を教えてくれます。

    drop procedure if exists bepaal_lijst_van_bij_te_bestellen_artikelen;

    delimiter //
    create procedure bepaal_lijst_van_bij_te_bestellen_artikelen()
    begin
        DECLARE art INT;
        DECLARE i INT;

        SELECT @art := COUNT(artikel_id) FROM artikelen;

        SET i = 1;
        WHILE i <= art DO

        END WHILE;
    end;
    //

    delimiter ;
4

3 に答える 3

1

やるべきだと思います

SET art := SELECT COUNT(artikel_id) FROM artikelen
于 2013-03-16T15:58:29.923 に答える
1

あなたはただ行うことができます(注:割り当てがどのように行われるかを知っています)

SELECT count(*) from Items into art;
于 2013-03-16T16:05:02.183 に答える
1

どうやら while ループを空にすることはできず、何かを含める必要があります。追加して修正しました

SET i = 1 + i;
于 2013-03-16T16:08:36.150 に答える