plpgsql相关内容

Hasura-Query没有结果数据的目标

在Hasura中,我正在尝试编写一个基于plpgsql的函数,该函数应该返回t_Documents。该函数应该根据它应该运行适当的SQL(使用IF条件检查)的参数值接受各种可选参数,并返回记录。这是我的目标。 我已经从没有参数的简单函数开始,该函数在Hasura中成功创建和跟踪,但当尝试查询它时抛出"query has no destination for result data" 我 ..
发布时间:2022-04-14 10:12:59 其他开发

重构 PL/pgSQL 函数以返回各种 SELECT 查询的输出

我编写了一个函数,它以文本形式输出格式良好的 PostgreSQL SELECT 查询.现在我不想再输出文本了,但实际上对数据库运行生成的 SELECT 语句并返回结果 - 就像查询本身一样. 到目前为止我所拥有的: 创建或替换函数 data_of(integer)返回文本为$身体$宣布传感器 varchar(100);-- 保存列名列表类型 varchar(100);-- 保存表名结果文 ..
发布时间:2022-01-30 20:51:48 其他开发

在 PostgreSQL 中使用 %TYPE 声明复合类型的变量

问题:如何在存储函数中声明同类型的变量作为参数? 简单的答案是使用 %TYPE,这样可以: 创建或替换函数 test_function_1(param1 text)返回整数 AS$身体$宣布myVariable param1%TYPE;开始返回 1;结尾;$身体$语言 plpgsql 易失性费用 100; 但问题是当 param1 是复合类型时: CREATE TYPE comp_ty ..
发布时间:2022-01-24 16:51:17 其他开发

如何在 PL/pgSQL 中按行类型返回表

我正在尝试使用 PL/pgSQL (PostgreSQL 9.3) 实现一个函数,该函数返回一个与参数中的输入表具有相同结构的表.基本上,我想更新一个表,并用 plpgsql 返回更新后的表的副本.我搜索了 SO,发现了几个相关的问题(例如 Return dynamic table with unknown columns from PL/pgSQL function 和 表名作为 Postgre ..
发布时间:2022-01-24 16:49:26 其他开发

如何删除具有外键依赖项的重复行?

我确定这很常见,但 Google 没有提供帮助.我正在尝试在 PostgreSQL 9.1 中编写一个简单的存储过程,它将从父 cpt 表中删除重复的条目.父表 cpt 被子表 lab 引用,定义为: CREATE TABLE 实验室 (recid 序列号不为空,cpt_recid 整数,...........约束 cpt_cpt 外键 (cpt_recid)参考 cpt (recid) MAT ..

在 Postgres 中使用动态查询 + 用户定义的数据类型

我需要一个函数来规范化我的输入表 features 值.我的 features 表有 9 列,其中 x1,x2...x6 是我需要缩放的输入列. 我可以通过使用静态查询来做到这一点: 创建或替换函数 scale_function()返回 void 作为 $$声明 tav1 特征%rowtype;rang1 特征%rowtype;开始选择 avg(n),avg(x0),avg(x1),avg ..
发布时间:2022-01-17 21:04:48 其他开发

更新 PL/pgSQL 中的一整行

我有plpgsql函数: 创建或替换函数 test() 返回 VOID AS$$宣布my_row my_table%ROWTYPE;开始SELECT * INTO my_row FROM my_table WHERE id='1';my_row.date := now();结尾;$$ 语言 plpgsql; 我想知道是否可以直接更新 my_row 记录. 我现在发现的唯一方法是: UP ..
发布时间:2022-01-17 20:35:31 其他开发

Java求和2个负数

我正在尝试将 java 中的函数转换为 pl/pgsql,我发现的一个问题是当我尝试将 2 个负数相加并得到一个正数时,更具体地说: public void sum(){int n1 = -1808642602;int n2 = -904321301;System.out.println(n1 + n2);//结果为 1582003393} 在 pl/pgsql 中,我得到一个整数超出范围错误 ..
发布时间:2022-01-09 16:21:44 Java开发

如果没有找到记录,则返回零

我在存储过程中有一个查询,它对表中的一些值求和: SELECT SUM(columnA) FROM my_table WHERE columnB = 1 INTO res; 在此选择之后,我用另一个查询检索到的整数减去 res 值并返回结果.如果验证了 WHERE 子句,则一切正常.但如果不是,我的所有函数返回的都是一个空列(可能是因为我试图用一个空值减去一个整数). 如果不满足 WHE ..
发布时间:2022-01-06 23:08:04 其他开发