ストアド プロシージャ外での DECLARE および WHILE の使用
DECLARE ステートメントを使用してストアド プロシージャ内で変数を定義できますが、BEGIN の外で宣言された変数はストアド プロシージャの ...END 句は許可されません。同様に、ストアド プロシージャの外で WHILE ループを使用することは禁止されています。
これは、ストアド プロシージャや、複合ステートメントを許可する他の MySQL 構造の外で、SQL クエリ内で変数を宣言したり、WHILE ループを直接実行したりできないことを意味します。トリガー、イベント、またはユーザー定義関数 (UDF)。
たとえば、次のコードはエラーになります。
<code class="sql">DECLARE @my_variable INTEGER; WHILE @my_variable < 10 BEGIN -- Your code here SET @my_variable = @my_variable + 1; END;</code>
DECLARE ステートメントと WHILE ステートメントを含むコードを実行するには、ストアド プロシージャまたは他の有効な複合ステートメント構造内で BEGIN...END ブロックを使用する必要があります。
正しい使用法
ストアド プロシージャ内で DECLARE ステートメントと WHILE ステートメントを正しく使用するにはプロシージャを使用するには、次の手順に従います。
以上がDECLARE ステートメントと WHILE ステートメントをストアド プロシージャの外で使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。