我想动态创建存储过程,以逗号分隔的列和值

Posted

技术标签:

【中文标题】我想动态创建存储过程,以逗号分隔的列和值【英文标题】:I want to create store Procedure dynamically comma separated columns and values 【发布时间】:2018-11-30 07:30:43 【问题描述】:

我将值传递给存储过程。逻辑是用逗号分割值并使用循环。

@Colomns Id,Firstname,Lastname
@values 1,'foo','bar'

查询应该是

Select * from user where Id = 1 and Firstname = 'foo' and Lastname = 'bar'

【问题讨论】:

搜索mysql拆分字符串,如果有问题,返回你写的代码。 可能在***.com/questions/5928599/…上重复 【参考方案1】:

只需使用substring_index()concat()

Select *
from user
where concat_ws(Id, firstname, lastname) = @param;

然后,将存储过程修复为采用三个参数!将三个值放入一个字符串中没有任何优势,而不是传入三个单独的值。

【讨论】:

以上是关于我想动态创建存储过程,以逗号分隔的列和值的主要内容,如果未能解决你的问题,请参考以下文章

如何传递逗号分隔的输入参数以从另一个存储过程调用存储过程

MySQL 存储过程我

创建存储过程以比较日期列和更新状态列

将分隔字符串拆分为存储过程中的变量[重复]

如何在存储过程中拆分逗号分隔的字符串?

mysql视图,存储过程,函数,事务,触发器,以及动态执行sql