【发布时间】:2020-11-01 05:18:01
【问题描述】:
当我尝试返回表格时,我的结果显示如下
generateClassRecord
--------------------
(james, 5)
(bob, 10)
而不是这样
+-------+----------+
| name | new_rank |
+-------+----------+
| james | 5 |
| bob | 10 |
| cole | 54 |
+-------+----------+
我假设我没有正确返回行。有人可以建议我如何返回我的数据。我尝试使用返回查询,但是当我调用我的函数时,它告诉我类型不匹配。
CREATE TABLE employees (
id integer primary key
name text,
rank integer
);
create type empRecord as (
name text,
new_rank integer
);
INSERT INTO employees (id, name, rank) VALUES (1, 'james', 5), (2, 'bob', 10), (3, 'Cole', '54');
CREATE OR REPLACE FUNCTION
generateEmpRecord()
RETURNS empRecord
as $$
DECLARE
r empRecord;
BEGIN
FOR r IN
SELECT name, rank
FROM employees;
LOOP
return next r;
END LOOP;
END;
$$ language plpgsql
【问题讨论】:
标签: sql postgresql plpgsql