我写了下面的存储过程:了解PostgreSQL的选择运算
CREATE OR REPLACE FUNCTION getid() RETURNS table(id integer) AS $$
DECLARE
rec RECORD;
BEGIN
select id into rec from player where id = 3;
END $$
LANGUAGE plpgsql;
select * from getid();
当我试图执行该脚本,我得到了错误:
column reference "id" is ambiguous
为什么?我认为返回的表的id
列不参与选择操作符...
问题是它的工作原理是PostgreSQL 8.4
,但不适用于PosgtreSQL 9.4
。难道你不能解释在PostgreSQL 9.4
中实际添加了什么,所以它不起作用吗?