如何创建从表中返回一组行的过程? 或者甚至可以使用 procedure 返回表格结果集。 我尝试添加返回学生集,就像在函数和table(id int)中所做的那样,但它不起作用。
示例代码:
CREATE OR REPLACE PROCEDURE getStudents()
LANGUAGE plpgsql
AS $$
BEGIN
SELECT * FROM STUDENTS
COMMIT;
RETURN;
END;
$$;
我可以调用它,但它说查询没有结果数据的目的地
最佳答案
过程并不意味着返回数据,这才是函数的用途。
您可以使用简单的 SQL 函数来实现此目的,无需 PL/pgSQL:
CREATE OR REPLACE funct get_students()
returns setof student
LANGUAGE sqö
AS $$
select *
from students;
$$;
然后像表格一样使用它:
select *
from get_students();
也不需要提交。
关于sql - 如何创建从 postgreSQL 中的表返回一组行的过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59486334/