问题标签 [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 回答
2358 浏览

sql - Postgres,plpgsql:有没有办法从存储过程内部连接到其他数据库?

我有两个数据库,一个是由另一个过滤数据提供的,现在我使用 perl 脚本女巫对外部数据库执行查询,将结果存储在 csv 文件中,并使用 \COPY sytnatx 将其加载到本地数据库

有没有办法编写 plpgsql 函数,女巫将连接到外部数据库并在本地数据库中加载过滤数据(我知道它可以在 即 plperl 中完成,但我搜索更多“本地”方式)

0 投票
2 回答
2772 浏览

postgresql - 如何在 pl/pgsql 函数中将 int 转换为时间

我想将给定的日期和整数转换为 pl/pgsql 函数中的时间戳。我以前从未对 pl/pgsql 做过任何事情,所以我有点不知所措。

感谢 Pablo Santa Cruz 的回答,它走到了这一步:

但是,这似乎对我不起作用。这是我在 Ubuntu 上使用 pgadmin3 时遇到的错误:

任何帮助是极大的赞赏 :)

0 投票
2 回答
8040 浏览

xml - 在 postgresql 中粉碎 XML

在 SQL Server 2005 的 T-SQL 语言中,我可以通过以下方式分解 XML 值:

其中@Xml 是一个类似的xml值

有人可以帮助我在 PostgreSQL 中(可能在 PL/pgSQL 中)实现相同的结果吗?

0 投票
1 回答
452 浏览

sql - 使用 PL/pgSQL 数组时出现查询错误

我有这个功能:

这是我创建的参数类型:

然后我调用我的函数:

但我收到此错误:

我该如何解决?我究竟做错了什么?

0 投票
1 回答
210 浏览

postgresql - Is it possible to use variables to access columns of records in postgresql trigger

I have a trigger to update my timestamps for each table. I use the following function:

Since all the timestamp columns have different names i have to write a function for each table.

I'd like to do something like this:

So i can use the same function for every trigger. But i don't know the right syntax for accessing the column via a variable NEW.(timestamp_col_name).

Is this possible? and how it is done?

0 投票
2 回答
265 浏览

postgresql - Postgresql优化问题

我想知道在 plpgsql 函数体和函数调用中添加 LIMIT 和 OFFSET 之间是否有任何区别。

这将更快:

或者

0 投票
1 回答
558 浏览

postgresql - 带提交的循环函数调用

我有一个更新表数据的 plpgsql 函数。我想在循环中调用这个函数,将循环变量作为参数传递,并在每次函数调用后提交。

我试图制作另一个 plpgsql 函数,但我发现我无法在与 oracle 过程不同的函数中提交。

有没有办法在常规的 sql 编辑器或 psql 中做到这一点?

0 投票
2 回答
13884 浏览

oracle - PL/pgSQL 中 PL/SQL %NOTFOUND 的等价物是什么?

一切都在标题中。

我在游标上循环并希望拥有

当没有更多行时,PostgreSQL 下的 %NOTFOUND 等价物是什么?

编辑

或其他游标属性 %ISOPEN、%EMPTY 等...

0 投票
1 回答
5240 浏览

sql - 如何将记录作为 PL/pgSQL 函数的参数传递?

我一直在网上寻找这个答案,但我找不到。

我试图通过 PL/pgSQL 函数传递一条记录。我尝试了两种方式。

拳法

那是输出:

第二种方式

还有输出

请问有人知道怎么做吗?

0 投票
3 回答
1479 浏览

ruby-on-rails - Rails 行为不端 wrt Postgres SERIAL NOT NULL 列

我正在开发一个(当前)带有 PostgreSQL 8.4 数据库后端的 Rails 2.3.x 应用程序。在我的 Rails 应用程序中,我有一个与数据库表相对应的模型,该表具有两列数据类型为 SERIAL 并设置为 NOT NULL。我将这些列之一设置为 Rails 中的主键和 PostgreSQL 约束。

表定义:

模型类定义:

我的问题是关于非主键 SERIAL NOT NULL 列。当我尝试执行 Rails ActiveRecord::Base#create 时,Rails 正确地没有为主键 SERIAL NOT NULL 列设置值,而是为另一个列设置了 NULL 值,这导致 PostgreSQL 抱怨NOT NULL 列被设置为 NULL。

我告诉 Rails 做什么:

Rails 告诉 PostgreSQL:

我的问题是,如何让 Rails 停止为该列传递 NULL 并且不传递任何内容,让 DEFAULT nextval(my_seq) 接管?或者,如果这是不可能的,我怎么能告诉 PostgreSQL 在传递时忽略这个 NULL 值和/或识别它与“设置为默认值”相同?

我会尝试只修补 Rails 2.3.x ActiveRecord 内部,但我知道如果我这样做了,在过渡到 Rails 3 时我会搞砸的。

我已经研究过在插入之前尝试使用 PL/pgSQL 触发器来修复问题,但我不知道如何使用 PL/pgSQL 告诉 PostgreSQL 来“取消定义”NEW.col2 值或说 NEW.col2 := DEFAULT (这不起作用)。

答案和/或建议表示赞赏!