创建适用于MySQL中不同表的过程/函数

问题描述 投票:0回答:1

据我所知,MySQL中不可能传递表句柄。因此,问题是如何编写适用于不同表的过程/函数。是否需要在每个proc / fun中对表名进行硬编码?假设我要doSomethingWithTable(...),是否必须为每个表创建一个表,即使它的操作完全相同?我是否真的需要创建X次相同的proc / fun,仅更改其名称(doSomethingWithTableClients(...)doSomethingWithTableUsers(...)doSomethingWithTableItems(...)等)?

mysql stored-procedures sql-function
1个回答
0
投票

您可以将表名作为变量传递,使用动态SQL来执行您想要执行的操作。

实际上,在过程中的所有表上执行相同的操作实际上非常罕见。诸如更改字符集/排序规则之类的事情浮现在脑海,但通常在过程中涉及逻辑,并且表与表之间的逻辑有所不同。

© www.soinside.com 2019 - 2024. All rights reserved.