plpgsql相关内容
现在预计将使用一个名为 waypoints 的表,并依次浏览函数主体。 drop函数,如果存在所有东西(航路点); 创建函数everything(waypoints)返回表(node int,xy text [])as $$ BEGIN drop table如果存在bbox; 创建临时表bbox(...); 插入bbox select ...从航点; 放置表,如果存
..
创建或替换函数extr(tabname text)返回text []作为 $$ 声明cols text []; 开始 执行’array(从information_schema.columns中选择column_name :: text,其中table_name =’|| quote_literal(tabname)||’)) 个返回列; 结尾; $$ 语言“ plpgsql”;
..
我试图创建一个PostgreSQL函数,在该函数中,我将遍历查询的行并将其中一些存储在数组中,然后再进行更多处理.如何创建一个行类型数组? CREATE OR REPLACE FUNCTION forExample() RETURNS integer AS $BODY$ DECLARE r "WEBHOST"%rowtype; b "WEBHOST"%rowtype[];
..
这些是提供给我的类型定义 创建类型IR为(pattern_number整数,uoc_number整数); 我当前的进度是: 创建或替换函数q1(模式文本,uoc_threshold整数) 返回setof IR as $$ BEGIN 返回查询 选择从temp计数(代码),其中代码类似于$ 1; 返回查询 从temp中选择计数(代码),其中$ 1和uoc>
..
我有以下python代码,可将postgres DB1和INSERTS上的表的内容复制到postgres DB2上的相似表中。 我想通过以下方式来加快速度使用批量插入。我该如何实现 import psycopg2 import sys import os all_data = [] 尝试: connec = psycopg2.connect(“ hos
..
我有一个接受表名数组的函数( audit.create_audit_table())。它创建单个函数 audit.if_modified_func(),然后遍历每个表名,创建一个审计表,并将触发器应用于主表。该函数可以编译并且不会出错。当我运行函数 时,请选择audit.create_audit_table(ARRAY ['organization']) 我一直收到以下错误,
..
应用参数映射时发生错误: ---检查newSubs-InlineParameterMap。 ---检查语句(查询失败)。 ---原因: org.postgresql.util.PSQLException: 错误:RETURN NEXT中提供的记录类型错误位置: PL / pgSQL函数“ getnewsubs”第34行位于返回下一个 函数详细信息如下...。
..
我正在尝试执行以下代码。我需要这个,因为我想将表名作为参数传递(字符不同): 执行'CREATE TABLE'|| tmp_table ||'AS SELECT研究, '|| unnest(columns)||'AS variable_id,'|| unnest_table(tblName)|| ’AS variable_value FROM’|| tblName; 但是
..
我是SQL编程的新手,我无法在线找到该问题的答案。 我正在使用pl / pgsql,但我希望以达到以下结果: 我有一个带有某些属性的表A。 我应该随时对该表进行更新-因此,只要进行可能影响A值的更改(在其他与A相关的表B或C中),就会触发一个触发器来更新值(在此过程中-可以将新值插入A,也可以删除旧值)。 同时,我想防止有人将值插入A。 我要做的是创建一个触发器,以防止插入A
..
我需要对一组表执行相同的删除或清除操作(基于多种条件)。为此,我试图将数组中的表名传递给函数。我不确定我是否做对了。还是有更好的方法? 我仅粘贴了一个示例示例,这不是我编写的真实函数,但基本内容与下面相同: 创建或替换功能测试(表名文本[])以int as $ func $ 开头的整数返回 从'|| tablename执行'delete *; RETURN 1; EN
..
对于安全敏感的设计,我想在某些表上禁用 Delete 。 code> Delete 仅应在行上设置 deleted 标志(然后在视图中可见,该标志将由应用层)。 据我了解规则会生成其他查询-因此规则无法禁止原始查询。 如图所示,一个带有触发器的玩具示例(尚未测试): -此表中的数据应为“不可删除的” CREATE表文章( id序列号, 内容文本不为空, 删除的布尔值默
..
如何编写包含动态构建的SQL语句并返回结果集的存储过程?这是我的示例代码: 创建或替换功能report.report_get_countries_new( starts_with varchar, ends_with varchar ) returns table( country_id整数, country_name varchar )AS $ body $ DECLA
..
我在postgres中编写一个存储过程,需要检查是否存在一行,然后采取相应的措施。 如果SELECT * FROM foo WHERE x ='abc'AND y ='xyz'然后 -在这里做其他事情 ELSE -在做其他事情 END; 我已经用Google搜索了一下,但没有很好的命中率。 解决方案 使用 PERFORM 和 FOUND 自动变量:
..
我正在尝试从PostgreSQL触发功能发出通知。我可以成功使用NOTIFY命令,但是pg_notify没有任何运气。即使从psql控制台调用pg_notify函数时收到通知,但从触发器函数调用pg_notify函数时也从未收到通知。 我的触发器函数的版本可以正常工作。我有一个监听“ mymessage”的Java程序,它会收到一条带有“ NOTIFY触发”有效载荷的通知。 -功能:c
..
关于使用Post gres函数中的SELECT…FOR UPDATE行级锁定,我有两个问题: 我选择哪几列?它们与我需要锁定然后更新的数据有什么关系吗? SELECT * FROM table WHERE x = y FOR UPDATE ; vs SELECT 1 FROM table WHERE x = y FOR UPDATE;
..
我的字符类型字段有所不同,但是尝试保存包含小数的数据时出现错误.我想毫无问题地保存数据. 这是我的触发器: CREATE TRIGGER "public.usuarios_trigger_process_audit" BEFORE INSERT OR UPDATE OR DELETE ON usuarios FOR EACH ROW EXECUTE PROCEDURE p
..
我尝试使此功能运行.当我使用pgadmin并使用 手动调用此函数时 SELECT calculate_something(7)或SELECT common.calculate_something(7) ERROR: function calculate_something(integer) doesn't exist hint no function matches the given
..
我正在尝试过滤具有产品ID作为外键的行的postgresql表.对于每个产品ID,我需要分别将1个csv导出到一个文件夹,例如prod1.csv,prod2.csv等.任何人都可以帮助我修复此功能或推荐更好的方法吗? CREATE or replace FUNCTION exportdata() RETURNS SETOF record AS $$ DECLARE rec text; B
..
销售数据包含可以包含任何字符的动态产品名称. 动态数据透视表是根据以下示例创建的 具有大量或未定义类别数的交叉表 translate()用于删除不良字符. 结果,数据透视表的列名称已损坏:缺少的字符和空格被删除. 如何返回与源数据中的列名称相同的数据? 我尝试使用 quote_ident(productname) as tootjakood, 代替 'C
..
我需要将表的每个双精度字段更改为numeric(15,3)类型, 我如何使用在给定表的字段中循环访问的存储过程快速完成这项工作,并且如果类型为double precision,则将alter列转换为数字? 解决方案 以下查询应返回查询以更新这些表...您可以根据需要添加表过滤器.复制结果并运行. select 'ALTER TABLE ' + table_name + ' ALTER
..