「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > MySQLストアドプロシージャと機能で動的テーブル名を操作する方法は?

MySQLストアドプロシージャと機能で動的テーブル名を操作する方法は?

2025-03-24に投稿されました
ブラウズ:158

How to Work with Dynamic Table Names in MySQL Stored Procedures and Functions?

ストアドプロシージャ関数のダイナミックテーブル名

MySQLでは、ストアドプロシージャと関数は、データベース内で複雑な操作を実行するための強力なメカニズムを提供します。ただし、動的テーブル名を操作する場合、特定の制限が発生します。 mynameに「名前」 から タブネーム どこ >

ただし、動的テーブル名でこのアプローチを使用すると、実際のテーブル名が変数名TableNameを置き換えるためにエラーが発生します。 選択します '名前' から 「、タブネーム」、」 どこ >

残念ながら、mysqlがそのようなコンテキストで動的sqlを禁止するため、この方法はストアドプロシージャ関数ではサポートされていません。 (TableName varchar(50)、Myid int(11)、out myname varchar(50)) 始める @getName =を設定します concat( 'name from'、tablenameに @var1にnameを選択します。ここで、>

SELECT
  'name' INTO myName
FROM
  tableName
WHERE
 >

を動的にするために、次の構文を使用して、次の構文を使用できます。 @myid = 1005を設定します。 @name = nullを設定します。 getname(@tablename、@myid、@name)を呼び出します; @name;

この方法を選択すると、ストアドプロシージャ内のさまざまなテーブルからのデータに動的にアクセスでき、データベース操作の柔軟性を高めます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3