问题标签 [plpgsql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
898 浏览

sql - pgsql时差?

如何编写查询以查找时差?

时间格式是这样的 2009-08-12 02:59:59

我想把这个时间与

2009-08-12 02:59:10

如何检查这两个

我想返回一些时差为 30 秒的行

怎么写SQL语句??

0 投票
4 回答
14678 浏览

sql - 学习 PL/pgSQL 的好资源?

我一直在网上寻找学习 PostgreSQL 的过程编程语言 PL/pgSQL 的好资源。

到目前为止,我设法挖掘的唯一内容是PostgreSQL 文档中的教程。虽然这很好,但我一直在寻找更深入的东西。你能推荐什么吗?

0 投票
3 回答
16754 浏览

postgresql - 如何编写不返回任何内容的 postgres 存储过程?

如何在 postgres 中编写一个根本不返回值的简单存储过程?即使在调用存储过程时返回类型为 void,我也会返回一行。

0 投票
2 回答
14724 浏览

sql - 如何使用 plpgsql 检查一个值是否为整数?

我在触发器中使用这个函数:

现在我想检查“myvar.user”是否是一个有效的整数,如果不是,请执行另一个 INSERT 语句。

我该怎么做?

0 投票
4 回答
12342 浏览

postgresql - 当布尔字段设置为 true 时,postgres 更新日期字段

为了这个例子,考虑一个表

我插入一条记录:

到目前为止,一切都很好。稍后,我现在想“激活”记录:

is_active当从falseto更改为时,我想做的true是 fordt_active设置为now()is_active对于奖励积分,如果从更改true为e会很好fals,dt_active 设置为 null,但我可以没有它。

我真的很想将这种内务处理推送到数据库中,它会使客户端代码更加简洁(因为许多表(甚至表中的列元组)都可以从这种技术中受益)。

我很困惑如何在触发器中提取数据库中的当前记录(我正在使用 plpgsql),以便将“then”与“now”进行比较。非常感谢指向代码示例或片段的指针。

0 投票
1 回答
181 浏览

sql - 如何在 PostgreSQL 8 中重用函数名作为输出参数?

我有一个名字非常有用的函数: has_useful_state(param).

我有第二个函数将返回SETOF RECORD这些结果中的一个:

无论如何,这就是它出轨的地方。该函数has_useful_state是迄今为止返回列名称和提供它的函数的最佳名称,但无法编译并出现如下错误:

显然函数名被视为别名......那么我怎样才能避免这种情况并仍然保留我有用的函数和列名?

0 投票
2 回答
1707 浏览

sql - pl/pgsql 中的引用器

我有一个用 pl/pgsql 编写的函数,它的工作方式与下面描述的相同:

我希望能够通过单个选择命令来使用它,而不是(使用事务)的记录方式是:

我确信我以前能够做到这一点,但是我不记得我是如何做到的,或者找到它的文档。这可能吗?或者是否可以编写此函数,使其可以在不使用 refcursor 的情况下输出。

我期望返回多行,并在返回之前在函数中完成一些数据检查。因此有必要使用存储过程。

0 投票
4 回答
7651 浏览

sql - 我可以让 postgres plpgsql 函数返回可变列记录吗?

我想创建一个 postgres 函数来构建它即时返回的列集;简而言之,它应该接受一个键列表,为每个键构建一列,并返回由该组列组成的记录。简而言之,这是代码:

这会构建看起来(大致)如下所示的查询:

当我尝试调用该get_agent_activity_breakdown()函数时,出现此错误:

诀窍当然是,标记为“标签 1”和“标签 2”的列取决于活动表内容中定义的活动集,我在调用函数时无法预测。如何创建一个函数来访问这些信息?

0 投票
2 回答
1302 浏览

sql - 检查 PL/pgSQL 中的时间戳

如果我在 PL/pgSQL 中有一个接收时间戳的函数,那么确定该日期是否在过去 12 个月以内的最佳方法是什么?

例如

0 投票
3 回答
3682 浏览

postgresql - PostgreSQL 触发器和异常

我试图让我的第一个触发器和函数工作,但我如何抛出异常并以正确的方式返回数据?

PostgreSQL 8.4.1

shift_overlaps():

check_shift():