plpgsql相关内容

无法在Postgres函数中删除临时表:“此会话中的活动查询正在使用”

现在预计将使用一个名为 waypoints 的表,并依次浏览函数主体。 drop函数,如果存在所有东西(航路点); 创建函数everything(waypoints)返回表(node int,xy text [])as $$ BEGIN drop table如果存在bbox; 创建临时表bbox(...); 插入bbox select ...从航点; 放置表,如果存 ..
发布时间:2020-10-06 07:40:08 其他开发

PostgreSQL:将列名称放入数组PL / pgSQL

创建或替换函数extr(tabname text)返回text []作为 $$ 声明cols text []; 开始 执行’array(从information_schema.columns中选择column_name :: text,其中table_name =’|| quote_literal(tabname)||’)) 个返回列; 结尾; $$ 语言“ plpgsql”; ..
发布时间:2020-09-25 02:17:11 其他开发

PostgreSQL函数

这些是提供给我的类型定义 创建类型IR为(pattern_number整数,uoc_number整数); 我当前的进度是: 创建或替换函数q1(模式文本,uoc_threshold整数) 返回setof IR as $$ BEGIN 返回查询 选择从temp计数(代码),其中代码类似于$ 1; 返回查询 从temp中选择计数(代码),其中$ 1和uoc> ..
发布时间:2020-05-30 01:58:22 其他开发

具有当前表名称的Postgresql动态函数

我有一个接受表名数组的函数( audit.create_audit_table())。它创建单个函数 audit.if_modified_func(),然后遍历每个表名,创建一个审计表,并将触发器应用于主表。该函数可以编译并且不会出错。当我运行函数 时,请选择audit.create_audit_table(ARRAY ['organization']) 我一直收到以下错误, ..
发布时间:2020-05-30 01:57:18 其他开发

使用iBatis的PostgreSQL存储过程

应用参数映射时发生错误: ---检查newSubs-InlineParameterMap。 ---检查语句(查询失败)。 ---原因: org.postgresql.util.PSQLException: 错误:RETURN NEXT中提供的记录类型错误位置: PL / pgSQL函数“ getnewsubs”第34行位于返回下一个 函数详细信息如下...。 ..
发布时间:2020-05-30 01:40:35 其他开发

只允许从触发器内插入

我是SQL编程的新手,我无法在线找到该问题的答案。 我正在使用pl / pgsql,但我希望以达到以下结果: 我有一个带有某些属性的表A。 我应该随时对该表进行更新-因此,只要进行可能影响A值的更改(在其他与A相关的表B或C中),就会触发一个触发器来更新值(在此过程中-可以将新值插入A,也可以删除旧值)。 同时,我想防止有人将值插入A。 我要做的是创建一个触发器,以防止插入A ..
发布时间:2020-05-30 01:01:10 其他开发

在数组中传递表名

我需要对一组表执行相同的删除或清除操作(基于多种条件)。为此,我试图将数组中的表名传递给函数。我不确定我是否做对了。还是有更好的方法? 我仅粘贴了一个示例示例,这不是我编写的真实函数,但基本内容与下面相同: 创建或替换功能测试(表名文本[])以int as $ func $ 开头的整数返回 从'|| tablename执行'delete *; RETURN 1; EN ..
发布时间:2020-05-30 00:59:34 其他开发

在PostgreSQL的表上​​禁用DELETE?

对于安全敏感的设计,我想在某些表上禁用 Delete 。 code> Delete 仅应在行上设置 deleted 标志(然后在视图中可见,该标志将由应用层)。 据我了解规则会生成其他查询-因此规则无法禁止原始查询。 如图所示,一个带有触发器的玩具示例(尚未测试): -此表中的数据应为“不可删除的” CREATE表文章( id序列号, 内容文本不为空, 删除的布尔值默 ..
发布时间:2020-05-29 20:29:30 其他开发

在PostgreSQL触发函数中使用pg_notify

我正在尝试从PostgreSQL触发功能发出通知。我可以成功使用NOTIFY命令,但是pg_notify没有任何运气。即使从psql控制台调用pg_notify函数时收到通知,但从触发器函数调用pg_notify函数时也从未收到通知。 我的触发器函数的版本可以正常工作。我有一个监听“ mymessage”的Java程序,它会收到一条带有“ NOTIFY触发”有效载荷的通知。 -功能:c ..
发布时间:2020-05-29 20:28:19 其他开发

在函数中使用plpgsql复制到csv的动态csv文件导出错误

我正在尝试过滤具有产品ID作为外键的行的postgresql表.对于每个产品ID,我需要分别将1个csv导出到一个文件夹,例如prod1.csv,prod2.csv等.任何人都可以帮助我修复此功能或推荐更好的方法吗? CREATE or replace FUNCTION exportdata() RETURNS SETOF record AS $$ DECLARE rec text; B ..
发布时间:2020-05-28 19:15:13 其他开发

如何在动态数据透视表上保留列名

销售数据包含可以包含任何字符的动态产品名称. 动态数据透视表是根据以下示例创建的 具有大量或未定义类别数的交叉表 translate()用于删除不良字符. 结果,数据透视表的列名称已损坏:缺少的字符和空格被删除. 如何返回与源数据中的列名称相同的数据? 我尝试使用 quote_ident(productname) as tootjakood, 代替 'C ..
发布时间:2020-05-28 19:15:08 其他开发

更改表的每个双字段

我需要将表的每个双精度字段更改为numeric(15,3)类型, 我如何使用在给定表的字段中循环访问的存储过程快速完成这项工作,并且如果类型为double precision,则将alter列转换为数字? 解决方案 以下查询应返回查询以更新这些表...您可以根据需要添加表过滤器.复制结果并运行. select 'ALTER TABLE ' + table_name + ' ALTER ..
发布时间:2020-05-28 19:15:04 其他开发