自定义函数返回多列

时间:2014-02-11 16:06:27

标签: mysql sql

有没有办法创建一个返回多行或多字段查询的函数? 我说的是

SELECT getUserById(20)['name']
or
SELECT getUserById(20)->name

所以,该函数返回用户的所有字段,然后我可以使用任何字段。

有可能吗?

1 个答案:

答案 0 :(得分:1)

MySQL中无法return a table from a function。但是,你真的需要一个功能吗?为什么不直接从表中选择?

SELECT name
FROM user
WHERE id = 20

如果您的逻辑很复杂,您可以将其“隐藏”在视图后面,例如

CREATE VIEW get_users AS
    your_complex_logic

然后,从视图中选择:

SELECT name
FROM get_users
WHERE id = 20