当前位置: 首页 > 面试题库 >

返回select *结果在postgres函数中

姜运珧
2023-03-14
问题内容

我试图在postgres函数内返回查询结果。我尝试了一下,并完美地工作了:

CREATE OR REPLACE FUNCTION getIncomingAreaMovements(v1 integer)
RETURNS integer AS $$
DECLARE
BEGIN
    return id_part_movement From part_movement where  id_area_final_destination = $1;
END;
$$ LANGUAGE plpgsql;

问题是我需要一些东西来返回以下结果:

Select * From part_movement where  id_area_final_destination = $1;

我需要什么回报,或者应该改变什么才能实现这一目标?


问题答案:

这可以通过一个简单的SQL函数来完成:

CREATE OR REPLACE FUNCTION get_data(v1 integer)
RETURNS setof part_movement 
AS 
$$
   Select * 
   From part_movement 
   where id_area_final_destination = v1;
$$ LANGUAGE sql;

可以在手册中找到更多详细信息和示例:http :
//www.postgresql.org/docs/current/static/xfunc-sql.html#XFUNC-SQL-FUNCTIONS-
RETURNING-SET



 类似资料:
  • 我的头撞在墙上。。我有两个表,订单和批次。我正在使用PostgreSQL 9。 这些查询按照我的预期工作并返回结果: 查询#1(正常工作,返回订单#12、#8等): 查询#2(正常工作,返回具有批次的唯一订单ID,这些批次的估计结束日期晚于2019-08-06-与上面列出的数字相同): 但是,如果将select查询#2替换为数字列表,则返回的结果与查询#1的结果不同: 我做错了什么?如何使嵌套子查

  • 问题内容: 我试图联接返回行的表和函数: 该函数为每个ID返回0、1或更多行。该查询适用于PostgreSQL 9.3,但在 9.1 上显示以下错误: this part of the query 我无法将计算从函数移到查询中。 据我了解,我无法使用 JOIN LATERAL ,这是9.3中的新功能。 有没有解决此问题的方法? 问题答案: 在Postgres 9.1中 : 假设 您的函数具有定义明

  • 问题内容: 我正在尝试从CSV文件中的一组数字中找到最大值和最小值。我的代码在某些行中始终为Max函数返回错误的数字。这是我的代码: 我的输出示例: 我不确定我做错了什么。一些建议,将不胜感激。 问题答案: 您的列表元素是字符串。您需要对其进行转换,以避免按字典顺序进行比较(按字母顺序,一次只比较一个字符,这是因为) 除非您实际上想要字符串,否则不要创建新列表,而只需传递给您的函数即可:

  • 我对Firebase/Firestore/Cloud函数相当陌生,一直在尝试一个小项目,在这个项目中,客户端应用程序调用Firebase Cloud函数来生成一些随机键(随机数),将它们添加到Firestore,成功编写后,将这些键返回到客户端应用程序。有点像随机数发生器。 客户端正确调用该函数(根据Firebase控制台),确实生成密钥,检查它们是否存在于Fi还原中,如果不添加它们。所有的工作直

  • 问题内容: 我正在尝试向表中插入一些行…我正在使用 postgressql-7.2.jar。 我得到以下异常 org.postgresql.util.PSQLException:查询未返回任何结果。 在org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:255) 我已经用Googl