DECLARE を使用したローカル変数の定義
プロセス文の解析では、変数の宣言と設定はストアドプロシージャの中で使用され、ストアドプロシージャの中だけで使用できることからローカル変数とも呼ばれ、変数の宣言は以下の構文で行うことができます:
DECLARE 変数名 [,変数名2...]; DECLARE 変数名 [,変数名2...]; DECLARE 変数名 [,変数名2...]。 DATA TYPE [デフォルト値].
DECLARE num INT DEFAULT 10 ;
-- 変数 num、データ型 INT、デフォルト値 10 を定義します。
DECLARE mult_a,mult_b int;** //複数の変数を定義します**。
その中で、DECLAREキーワードは、変数を宣言するために使用されます。変数名は、変数の名前は、同時に複数の変数を定義することができます。変数の宣言は、変数の定義とは異なり、ストアドプロシージャにのみ存在することができますので。
宣言された変数は、プロシージャ内で使用することができます。 変数の値を設定するには、次の構文を使用します:
SET 変数名1 = expr [, 変数名2 = expr ]。
引数 expr は代入式または値です。SET文は同時に複数の変数に値を代入するために使用することができ、各変数の代入文はカンマで区切ります。このタイプの代入に加えて、前述の SELECT...INTO 文も変数に値を代入するために使用できます。
正しい例:**SET@a1 = 'zhangsan' ,@a2 =1029,@a3='2018-10-10'**.
なぜ図のようなエラーが報告されるのでしょうか?宣言されたシンボル@を使っていないからです。




