我有一个输出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是从不同的查询中提取的。
我在这里做错了什么?