MySQLには2つの異なるタイプの変数があります:
-
ローカル変数 (そうではありません プレフィックスは
@
)は強く型付けされ、宣言されているストアドプログラムブロックにスコープされます。DECLARE
に記載されているように、注意してください。 構文 : -
ユーザー変数 ( プレフィックスは
@
)は大まかに入力され、セッションのスコープが設定されます。それらは必要ではなく、宣言することもできないことに注意してください。直接使用するだけです。
したがって、ストアドプログラムを定義していて、実際に「ローカル変数」が必要な場合は、質問の文言に従って、 @
を削除する必要があります。 文字を入力し、 DECLARE
ステートメントは、プログラムブロックの先頭にあります。それ以外の場合、「ユーザー変数」を使用するには、 DECLARE
を削除します ステートメント。
さらに、サブクエリとして実行するには、クエリをかっこで囲む必要があります。
SET @countTotal = (SELECT COUNT(*) FROM nGrams);
または、 SELECT ... INTO
>
:
SELECT COUNT(*) INTO @countTotal FROM nGrams;