问题标签 [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.
python - Psycopg2 callproc 和 sql 参数
我有一些 SQL 函数
从 Psycopg2 (如果重要的话,它在 Django 内部)我做
但函数返回与我给出的完全相同的输入序列,忽略结果和 OUT 参数。更改为 IN OUT 并传递一些 foo 值不会改变任何内容。在数据库中调用时,SQL 函数按预期工作
postgresql - postgresql:在 EXECUTE 的动态命令中使用 NEW.*
我尝试为 postgresql 8.3 创建一个 plpgsql 触发器,它在按 id 列插入之前自动对表进行分区
如果目标表不存在,它将被创建,并且插入到那里
所以我用这样的新表名创建了插入语句
导致错误:
我有两个问题:
- 甚至可以在 EXECUTE 中使用 NEW 还是语句中有错误?
- 如果不可能,任何人都知道如何从 NEW 中获取值,以便我可以在语句中使用它们?我唯一想到的是使用 information_schema 来检索主表的列名,然后尝试动态访问 NEW 的值——我也不知道如何:(
谢谢
postgresql - PostgreSQL 和 pl/pgsql SYNTAX 根据 SELECT 和 FUNCTION 更新字段(while 循环,DISTINCT COUNT)
我有一个大型数据库,我想做一些逻辑来更新新字段。
主键id
用于表 harvard_assignees
逻辑是这样的
- 选择所有基于的记录
id
- 对于每条记录(WHILE),
if (state is NOT NULL && country is NULL), update country_out = "US" ELSE update country_out=country
我将步骤 1 视为 PostgreSQL 查询,将步骤 2 视为函数。只是想找出使用确切语法在本地实现的最简单方法。
==== 第二个功能更有趣,需要(我相信)DISTINCT
:
- 查找所有 DISTINCT foreign_keys(pat_type,patent 的二元键)
- 计数包含该值的记录(例如,n=3 记录具有 fkey "D","388585")
- 更新这 3 条记录以将百分比标识为 1/n(例如,更新 3 条记录,设置百分比 = 1/3)
postgresql - 如何从 postgresql 函数或触发器发送一些 http 请求
我需要从函数或触发器通过 http 协议(GET 或 POST 请求)发送数据。可能吗?
sql - 如何将此 T-SQL 代码转换为 PostgreSQL / plpgsql
我需要将以下 tsql 函数代码转换为 plpgsql 函数,但我完全不知道如何:
这是完整的报价:
sql - 在 plpgsql (postgres) 中创建多维 varchar/text 数组
我有一些我想从服务器端代码到数据库的功能。
我不知道如何在 plpgsql 中设置多维 varchar 数组的值。
这是我正在尝试做的一个例子:
对于我的生活,我无法弄清楚如何让它发挥作用。
任何帮助都会很棒。顺便说一句,我正在使用 postgres 8.1(卡在那个版本)。
sql - 用于遍历有向图并返回找到的所有边的 PostgreSQL SQL 或 PL/pgSQL 查询
我并不特别习惯于生成复杂的 SQL 查询,并且在设计用于网络遍历的递归查询时,我很难将我对过程语言和基于集合的操作的理解混合起来。我希望通过对有向图进行深度优先搜索(每个节点可以有多个上游边)来找到位于特定节点“上游”的边集,并且最好在 SQL 中实现这一点。
我想做的伪代码如下所示:
我已经用纯 SQL 编写了以下函数:
WITH RECURSIVE
但是在将上述伪代码转换为 PostgreSQL查询或 PL/pgSQL 函数时,我正在努力弄清楚如何管理范围和返回类型。我见过的大多数WITH RECURSIVE
查询示例都是为遍历每个节点只有一个父节点的树而设计的。有没有人有任何提示/建议如何最好地解决这个问题?
干杯,
将要
sql - 使用 NEW 语句更新 PSQL 行
因为可以这样做: INSERT INTO some_table VALUES (NEW.*) in pl/pgsql 我们可以做类似的事情,但对于使用 NEW 的 UPDATE 子句?我的意思是我想使用来自 NEW 对象的值更新一些行。
提前致谢。
postgresql - 错误:未终止的带引号的字符串在或附近
在使用 ANT 执行下面显示的触发代码时,我收到了错误
我能够通过 PGADmin(由 postgres 提供)和命令行实用程序“psql”成功执行以下代码,并添加了触发功能,但是在通过 ANT 执行时,每次都失败
performance - 返回另一个 SETOF 函数结果的 SETOF 返回函数的性能?
我编写了一个函数,它接受两个参数并返回一个 SETOF 结果。
CREATE FUNCTION foo(parentId bigint, childId bigint) RETURNS SETOF bar AS ...
我想为此函数编写两个“包装器”,使其更易于调用:
postgres 是否足够聪明,可以直接返回FOO()
whenFOO_CHILD()
被调用的结果,还是会从FOO()
whileFOO_CHILD()
执行中复制所有结果,然后返回这些结果?
我想我是在问 pgplsql 是否会进行尾调用优化!
编辑:我正在使用 Postgres 8.2。