【发布时间】:2021-03-25 20:07:31
【问题描述】:
现在,我们正在将存储过程从 SQL Server 迁移到 Postgres。
我们有一个执行一些写操作的过程,然后它会调用一个列表函数来列出当前存在的所有数据。
create or replace procedure public.tree_create()
language plpgsql
as
$$
BEGIN
/* Insertion code goes here. */
/* return result. */
select * from public.tree_list();
END;
$$;
这会报错
[42601] 错误:查询没有结果数据的目的地 提示:如果要丢弃 SELECT 的结果,请改用 PERFORM。其中:PL/pgSQL 函数 public.tree_create() 第 4 行的 SQL 语句
那么我们如何通过调用函数来返回数据。仅供参考:该函数工作正常,当我们使用select * from list_tree() 调用它时,它将返回数据。
那么我们究竟如何在 STORED PROCEDURE 中调用 FUNCTION 来返回结果呢?还是有其他方法可以借鉴?
【问题讨论】:
-
你想对函数的结果做什么?
-
@a_horse_with_no_name:返回结果并显示。
标签: postgresql