【发布时间】:2011-12-30 06:38:07
【问题描述】:
我需要将字符串数组作为参数传递给 MySQL 存储例程。数组可能很长,其元素数量不固定。然后我想将字符串值放入一个包含一列的内存表中,这样我就可以处理数据了。我不知道这是否可以在 MySQL 中完成。也许需要一些肮脏的解决方法。
例如,我有字符串值:
Banana, Apple, Orange
现在我想从我的 MySQL Fruits 表中获取有关这些水果的数据。伪代码:
create function GetFruits(Array fruitArray)
declare @temp table as
fruitName varchar(100)
end
@temp = convert fruitArray to table
select * from Fruits where Name in (select fruitName from @temp)
end
Microsoft SQL Server 允许您使用 TEXT 数据类型并将数组作为 XML 字符串提交,从而快速创建内存表。但是,我认为这种技术在 MySQL 中是不可能的。
任何有关如何执行此操作的帮助将不胜感激!
【问题讨论】:
标签: mysql arrays stored-procedures parameter-passing