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

时间:2019-11-30 10:24:01

标签: mysql stored-procedures sql-function

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

1 个答案:

答案 0 :(得分:0)

您可以使用动态SQL将表名作为变量传递,以执行您希望执行的任何操作。

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