set-returning-functions相关内容

用于循环并从多个表中选择数据的函数

我是 Postgres 的新手,有一个包含多个相同结构表的数据库.我需要从每个表中选择符合特定条件的数据. 我可以用一堆 UNION 查询来做到这一点,但是我需要搜索的表的数量会随着时间的推移而改变,所以我不想这样硬编码.我一直在尝试开发一个函数,该函数将循环遍历特定的表(它们有一个共同的命名约定)并返回一个记录表,但是当我查询该函数时我没有得到任何结果.功能代码如下: 创建或替换函数 p ..

在 Postgres 中将列拆分为多行

假设我有一张这样的表: 主题 |旗帜------+------这是一个测试|2 subject 是 text 类型,flag 是 int 类型.我想在 Postgres 中将此表转换为类似的内容: 令牌 |旗帜------+------这|2是 |2一个|2测试 |2 有没有简单的方法可以做到这一点? 解决方案 在 Postgres 9.3+ 中使用 LATERAL join: ..
发布时间:2021-12-05 22:00:59 其他开发

从函数返回的记录具有连接的列

我有一张表,用于存储帐户随时间的变化.如果这些记录不存在,我需要将它与另外两个表连接起来以创建特定日期的一些记录. 为了让事情更简单(我希望如此),我将返回正确历史数据的查询封装到一个函数中,该函数接收帐户 ID 和日期. 如果我执行 "Select * account_servicetier_for_day(20424, '2014-08-12')",我会得到预期的结果(函数返回的所 ..
发布时间:2021-12-05 21:49:58 其他开发

多次调用带有数组参数的集合返回函数

这是的变体返回多列的 plpgsql 函数被多次调用.但是,我希望找到针对我的特定情况的解决方案. 我有一个函数,它处理带有给定参数的行数组,并返回一组行 + 一个新列. CREATE OR REPLACE foo(data data[], parameter int) RETURNS SETOF Enhanceddata AS... 该函数适用于只有一组数据的测试用例 SELECT ..
发布时间:2021-12-05 21:37:01 其他开发

PostgreSQL:错误:42601:返回“记录"的函数需要列定义列表

据我所知,我的函数与我见过的样本非常相似.有人能告诉我如何让它工作吗? 创建或替换函数 get_user_by_username(用户名 varchar(250),在线布尔值) 将记录集返回为 $$申报结果记录;开始如果在线那么更新用户设置 last_activity = current_timestamp其中 user_name = 用户名;万一;返回查询选择用户身份,用户名,最后一个活动,创 ..

SELECT 子句中多个集合返回函数的预期行为是什么?

我试图通过两个集合返回函数的结果获得“交叉连接",但在某些情况下我没有获得“交叉连接",请参见示例 Behaviour 1:当设置的长度相同时,从每个集合中逐项匹配 postgres=# SELECT generate_series(1,3), generate_series(5,7) 按 1,2 排序;生成系列|生成系列-----------------+---------------- ..

并行取消嵌套多个数组

我的最后一个问题 将数组传递给存储到 postgres 有点不清楚.现在,澄清我的目标: 我想创建一个接受两个输入参数的 Postgres 存储过程.一个是一些金额的列表,例如(100, 40.5, 76),另一个是一些发票的列表('01-2222-05','01-3333-04','01-4444-08').之后我想使用这两个数字和字符列表并用它们做一些事情.例如,我想从这个数字数组中取出 ..

并行取消嵌套多个数组

我的最后一个问题 将数组传递给存储到 postgres 有点不清楚.现在,澄清我的目标: 我想创建一个接受两个输入参数的 Postgres 存储过程.一个是一些金额的列表,例如(100, 40.5, 76),另一个是一些发票的列表('01-2222-05','01-3333-04','01-4444-08').之后我想使用这两个数字和字符列表并用它们做一些事情.例如,我想从这个数字数组中取出 ..

在不创建临时表的情况下加入数组 unnest 的输出

我在 UDF 中有一个查询(如下所示),其中 unnest() 是一个整数数组并对其进行连接,因为我知道这一点,所以我在 pgplsql UDF 中创建了一个本地临时表作品.是否可以直接在查询中使用 unnest 来执行连接,而不必创建临时表? 创建或替换函数 search_posts(forum_id_ 整数,查询_字符变化,偏移_整数默认为空,限制_整数默认为空,from_date_ TIM ..

通过单个查询返回日期在指定范围内的列表

我正在尝试获取范围内的日期列表,类似于PostgreSQL中的命令NOW(),唯一的区别是 now()仅返回当前日期。 如果执行以下操作,则会得到: 立即选择(); 2013-09-27 15:27:50.303-05 或例如,我可以这样做: select now()-间隔“ 1”天; 结果为昨天 2013-09-27 1 ..

“错误:列...指定了多次”在VIEW定义中

这是对早期版本的后续问题。我有一个存储函数 f1 ,它带有两个参数,返回一个包含5列的表;现在返回的值是常量,以后将根据参数计算得出。 我还有一个表 t1 ,其中两列的类型与 f1 的参数相对应。 我现在要定义一个视图 v1 包含从 f1 返回的所有行的并集,该行存储在 t1中。对于给定的示例值,结果应为: + --- + --- + --- +- + --- + --- + ..