方法: 1. set ステートメントの変数割り当てを使用します。構文は「set 変数名 = 値または代入ステートメント」です。 2. クエリ ステートメントを使用してキーワード変数の割り当てを行います。構文は「SELECT c1, c2.. .INTO @v1, @v2...FROM テーブル名 WHERE 条件」。
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
mysql ストアド プロシージャに変数を割り当てる方法
MySQL 変数の割り当てには落とし穴があります。この穴を埋めるには 2 つの方法があります。
1 つ目はよく知られています: set 変数名 = 値/代入ステートメント
2 つ目は: select ... into 変数名 ...; または select ... into variable name;
1 つ目のタイプは、インターネット上で変数名の前に @ を付けなければならないという意見をよく見かけましたが、実際には不要で、特殊な場合にのみ @ を付ける必要があります。ほとんどの場合、使用中に追加されなくても、保存されたプロセスには影響しません。
例:
set g_grant_ex='gamedb.tb_exchange_'; set @g_grant_ex='gamedb.tb_exchange_'; /*这其实是一样的效果*/
2 番目のタイプはさらに混乱を招きます。以前に他の人がYunliwuliを使用しているのを見ました。何度か試してみて発見しました。 。 。 。 。 。 。使い方はとても簡単です~ 例は次のとおりです。
例:
1.select count(*) into g_err from information_schema.TABLES t where t.TABLE_SCHEMA='gamedb' and t.TABLE_NAME=concat('tb_recharge_',g_year); 2.select count(*) from information_schema.TABLES t where t.TABLE_SCHEMA='gamedb' and t.TABLE_NAME=concat('tb_recharge_',g_year) into g_err; /*这两个效果也是一样的*/
推奨学習:mysql ビデオ チュートリアル
以上がmysql ストアド プロシージャに変数を割り当てる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。