问题标签 [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 投票
4 回答
3100 浏览

postgresql - 在 postgresql 中跟踪修订

我必须跟踪表中记录的修订。我所做的是创建第二个表,它继承自第一个表并添加一个修订计数器。

然后我创建了一个触发器,每次插入/更新 A 时都会更新表 B。我想不通的是如何让 B.revision 为每个 id 保留一个单独的“序列”。

示例:表 A 有 2 行,i & j。
我已经更新了 3 次,应该有 3 次修订:(1、2、3)。
j 已经更新了 2 次,应该有两个修订:(1, 2)。

这是我到目前为止所拥有的,也许我走错了路,有人可以帮助我!

0 投票
2 回答
1670 浏览

database - 将 Oracle 过程(带有特定函数调用)移植到 Postgres PL/PGSQL

(这类似于我之前提出的一个问题: Porting Oracle Procedure to PostgreSQL

我需要移植:

从 Oracle 到 PG/PLSQL...

我已经做到了这一点:

令人窒息:

这令人窒息:

任何这些帮助将不胜感激(我是函数/存储过程世界的新手)

0 投票
3 回答
418 浏览

sql - 如何从 PostgreSQL 中的 database2 中的函数更新 database1 中的表?

有没有办法从 database2 中的函数更新 database1 中的表(两个数据库都在同一台服务器上)?基本上是 PostgreSQL 中的跨数据库更新。

函数由触发器执行,但这无关紧要。

-= 编辑 =- 我知道我可以使用 DBLink 来实现,但我想尽可能少地修改源数据库。我正在寻找其他一些选择。

0 投票
3 回答
2406 浏览

postgresql - 使用变量传递的名称创建模式

我想创建一个名称由变量传递的模式。例子:

0 投票
4 回答
22533 浏览

postgresql - PostgreSQL:在 plpgsql 函数中回滚事务?

来自 MS SQL 世界,我倾向于大量使用存储过程。我目前正在编写一个使用大量 PostgreSQL plpgsql 函数的应用程序。如果我在其中的任何时候遇到异常,我想做的是回滚包含在特定函数中的所有 INSERTS/UPDATES。

我最初的印象是每个函数都包装在它自己的事务中,并且异常会自动回滚所有内容。然而,情况似乎并非如此。我想知道我是否应该将保存点与异常处理结合使用?但我并不真正了解事务和保存点之间的区别,以了解这是否是最好的方法。请问有什么建议吗?

0 投票
2 回答
819 浏览

sql - plpgsql 函数生成随机可读的字符串

我已经编写了以下函数,但是当我运行它时它没有返回任何内容。有人可以帮助确定问题吗?

0 投票
3 回答
20057 浏览

postgresql - 如何在不创建函数的情况下执行 pl/pgsql 代码?

使用 SQL Server,我可以通过 SQL Server Management Studio 或任何其他客户端执行具有完整过程逻辑的临时 T-SQL 代码。我已经开始使用 PostgreSQL 并且遇到了一点不同,因为 PGSQL 需要将任何逻辑嵌入到函数中。

有没有办法在不创建执行函数的情况下执行 PL/PGSQL 代码?

0 投票
1 回答
75 浏览

sql - 有什么不同

我什至不确定这叫什么?

但我试图了解在 plpgsql 中编写这样的函数有什么区别:

对比

使用 $$ 和 $foo$ 有区别吗?为什么有人会选择一个而不是另一个?也许我只是错过了一些解释差异的文档。如果有人能启发我,我将不胜感激。

0 投票
1 回答
3527 浏览

sql - 如何从函数返回记录,由 INSERT/UPDATE 规则(触发器)执行?

为我的数据库执行以下方案:

然后输入 psql:

想看到类似的东西:

而是看到:

有可能以某种方式解决这个问题吗?

感谢您的任何想法。

最终的想法是在其他功能中使用它,这样我就可以获得刚刚插入记录的 id 而无需从头开始选择它。就像是:

会很好,但不适用于错误:

我真的不明白那个提示。我使用 PostgreSQL 8.4。

0 投票
2 回答
2432 浏览

php - PHP calling PostgreSQL function - type issue?

I have a function in PostgreSQL / plpgsql with the following signature:

Where _get_session is a view. The function works fine when calling it from phpPgAdmin, however whan I call it from PHP I get the following error:

Warning: pg_query() [function.pg-query]: Query failed: ERROR: type "session_ids" does not exist CONTEXT: compile of PL/pgSQL function "user_login" near line 2 in /home/sites/blah.com/index.php on line 69

The DECLARE section of the function contains the following variables:

The domain session_ids DOES exist, and other functions which use the same domain work when called from the same script. The PHP is as follows:

I have also tried this using ::session_ids in place of ::TEXT when calling the function, however I recieve the same error.

Help :o(