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