具有多个输出参数的postgres函数的奇怪结果

时间:2016-10-19 10:37:13

标签: postgresql plpgsql

我有一个输出2个参数的简单函数(在本例中为word和part_of_speech)。

CREATE OR REPLACE FUNCTION findword(out word1 text, out pos1 text) AS $$
BEGIN

SELECT word, partofspeech 
INTO word1, pos1
from content_word
ORDER BY RANDOM() 
LIMIT 1;

END;
$$ LANGUAGE plpgsql;

如果我使用

SELECT * FROM findword();

我得到了预期的结果。

但是当我使用

SELECT (findword()).*

我得到了奇怪的结果:

tight | v
jury  | j

好像word1和pos1是从不同的查询中提取的。

我在这里做错了什么?

0 个答案:

没有答案