ホームページ  >  記事  >  データベース  >  mysql ストアド プロシージャに変数を割り当てる方法

mysql ストアド プロシージャに変数を割り当てる方法

WBOY
WBOYオリジナル
2022-01-12 10:41:143980ブラウズ

方法: 1. set ステートメントの変数割り当てを使用します。構文は「set 変数名 = 値または代入ステートメント」です。 2. クエリ ステートメントを使用してキーワード変数の割り当てを行います。構文は「SELECT c1, c2.. .INTO @v1, @v2...FROM テーブル名 WHERE 条件」。

mysql ストアド プロシージャに変数を割り当てる方法

このチュートリアルの動作環境: 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。