-
64 votesanswersviews
使用pgAdmin调试PostgreSQL函数
我引用this来启用PostgreSQL服务器中的调试器,以便通过使用pgadmin单步调试plpgsql函数 . 我已经在 postgresql.conf 中设置 shared_preload_libraries = '$libdir/plugins/plugin_debugger.dll' ,运行 pldbgapi.sql ,然后重新启动服务器 . 这些步骤应该已成功运行并且 plugin_d... -
4 votesanswersviews
在PL / pgSQL中使用动态查询创建一个数组
我试图在plpgsql函数中创建一个带有动态选择查询的数组 . 不幸的是我收到了语法错误 . ERROR: syntax error at or near "EXECUTE" ZEILE 19: SELECT DISTINCT INTO outputIdsToDelete ARRAY( EXECUTE findA... ... -
-1 votesanswersviews
包含查询“Select * from table name”的plpgsql函数
我想创建一个plpgsql函数,它将执行一个简单的选择查询,即 . “从表名中选择*” . 当我通过此查询运行该函数时,就像“select function()”一样,它将输出为“Select * from table name” . -
0 votesanswersviews
如何在pl / pgsql中使用自定义列名声明绑定游标
我想在一个带有表名的函数中使用cursor作为函数变量,一个简单的例子就是通过游标的select查询 . 从PostgreSQL的文档中我发现我可以使用 Declare curs3 CURSOR (key integer) FOR SELECT * FROM tenk1 WHERE unique1 = key; 但是当我输入时 declare curs1 cursor (key integer)... -
0 votesanswersviews
在postgresql中使用tablename作为参数的函数
如何在tableg作为参数的postgresql中创建一个函数,该函数返回table的结果集,该表作为查询“select * from TABLE”的参数传递 . 这里的TABLE是传递给函数的参数 . -
1 votesanswersviews
从函数PostgreSQL而不是记录返回多个列和行
我正在网上阅读关于PostgreSQL上的函数并返回结果在这个链接中: SQL function return-type: TABLE vs SETOF records How do I reference named parameters in Postgres sql functions? http://www.postgresqltutorial.com/plpgsql-func... -
0 votesanswersviews
[PostgreSQL / plpgsql]:如何在DECLARE块中使用函数参数?
CREATE OR REPLACE FUNCTION Test_Param_Insert_Data(p_schema_table text, p_dblinkcon text) RETURNS void AS $$ declare rec p_schema_table; BEGIN .... 如何使用函数参数 p_schema_table 作为 composite_type_name ... -
0 votesanswersviews
Postgresql plpgsql多行循环
我正忙着为PostgreSQL数据库重写一个Informix存储过程,而且我对所有知道PostgreSQL的人都很明显 . 我有我的sql脚本如下 -- ensure type and function get created drop type if exists tp_users cascade; drop function if exists sp_cmplist(); -- create... -
2 votesanswersviews
使用自定义类型时,PostgreSQL仅返回一行
我有一个plpgsql函数,它返回一个自定义类型(伪代码): CREATE OR REPLACE FUNCTION my_function(entity_id integer) RETURNS "CustomType" AS $BODY$ DECLARE result "CustomType"; BEGIN SELE... -
13 votesanswersviews
plpgsql函数返回表(..)
我试图让这个plpgsql函数工作: CREATE OR REPLACE FUNCTION outofdate(actualdate varchar) RETURNS TABLE(designacion varchar(255),timebeingrotten varchar(255)) AS $BODY$ SELECT designacao, actualdate - prazo FRO... -
4 votesanswersviews
如何在PostgreSQL中测试if语句?
问题:我想测试PostgreSQL中的if语句: IF (SELECT COUNT(*) FROM pg_language WHERE lanname = 'plpgsql') > 0 THEN PRINT 'Good' ELSE PRINT 'Bad' END IF; 现在这会在IF处抛出错误 . 据我所知,这是因为我需要使用plpgsql来使用if,print和vari... -
0 votesanswersviews
如何读取名称在另一个字段中的行字段的值
我有一个变量A,其中包含表TABLE中列的名称,我在TABLE中有一行B我怎样才能在Postgresql中的plpgsql中执行类似值:= B.A的操作 -
0 votesanswersviews
PostgreSQL:尝试使用时间戳插入表时出现神秘错误
我有以下存储过程: Create FUNCTION createidentity7(new_browser_id bigint, sn smallint, sn_id bigint, last_updated timestamp with time zone, cred_mask_pos integer) RETURNS integer AS $BODY$ DECLARE ... -
0 votesanswersviews
动态Postgress查询;错误:运算符不存在:字符变化=整数
我知道这是一个简单/愚蠢的问题,但我在这里苦苦挣扎 . . . Running: 在安装了Brew功能的OSX上的Postgress 9.3给了我这个 ERROR: 运算符不存在:字符变化=整数 HINT: 没有运算符匹配给定的名称和参数类型 . 您可能需要添加显式类型转换 . QUERY: SELECT substring(address_postal_code for 5) FRO... -
29 votesanswersviews
Postgresql,如果存在具有某些唯一值的行,则更新,否则插入
我有一个URL表 . 他们包含 (id int主键,url字符变化唯一,内容字符变化,最后分析日期) . 我想创建触发器或其他东西(规则可能是),所以每次我从我的java程序插入时,如果存在具有这种URL的行,它会更新一些单行 . 否则它应该执行插入 . 请你能在Postgresql中提供完整的代码吗?谢谢 . -
3 votesanswersviews
如何使用触发器来防止PostgreSQL中的重复记录?
我希望创建一个存储过程(在plpgsql,PostgreSQL 9.1中),首先检查以确保要插入的记录在其四个列上是唯一的,或者如果更新了记录,则将其更新为唯一值 . Example: Record (1,2,3,4) is to be inserted. If Record (1,2,3,4) already exists, then do not insert a duplic... -
0 votesanswersviews
如何运行postgresql函数(运行时看到错误)
我像这样创建了Postgresql函数 . 并尝试了不同的方法来运行它,如本问题所述 . 没有任何作品 . CREATE OR REPLACE FUNCTION func_update_count( updateType text, userid text ) RETURNS integer AS $$ DECLARE _qry char(1024); l_ro... -
2 votesanswersviews
从PostgreSQL函数生成HTML
谁能帮我这个?我有一个编写函数的任务,它将从PostgreSQL中的给定表名生成HTML表(plpgsql语言) . 我写过这个,但它远非我所需要的 . 它会为我给出的列生成一个表(目前只有一个),但我需要给表一个名称 . 创建或替换函数genhtml2(tablename text,columnname text)RETURNS text AS $ BODY $ DECLARE result ... -
2 votesanswersviews
是否可以在PostgreSQL中创建一个以列名作为输入的函数?
我有两个这样的表: CREATE TABLE table1_lang ( id serial NOT NULL, lang1 character varying, lang2 character varying, ... ) CREATE TABLE table2_lang ( id serial NOT NULL, table1_id NOT NULL, lang1... -
1 votesanswersviews
PostgreSQl函数返回多个动态结果集
我有一个旧的MSSQL过程需要移植到PostgreSQL函数 . 基本上,SQL过程包含在select语句的CURSOR中 . 对于每个游标实体,我有三个基于当前游标输出的select语句 . FETCH NEXT FROM @cursor INTO @entityId WHILE @@FETCH_STATUS = 0 BEGIN SELECT * FROM table1 WHERE col1 =... -
-2 votesanswersviews
我如何在PostgreSQL函数中设置select值?
我在PostgreSQL函数(plpgsql)中声明了一些变量,我想从select table中设置一个值 . 我怎么能正确地做到这一点? 功能如下: DECLARE a NUMERIC(18,6); b int; c int; d NUMERIC(18,6); e int; f boolean; BEGIN SELECT a = "st"."cl1&... -
0 votesanswersviews
Postgresql函数动态表quote_ident错误
我创建了一个动态函数 . 我动态地获得了表名的一部分 . 该功能已成功创建 . 但是当我执行该功能时 . 我收到一个错误 . 我怎么解决这个问题?我用这个函数调用 select * from dwgcould.getlatlngcenter(2000653); CREATE OR REPLACE FUNCTION dwgcould.getlatlngcenter(IN pro_id integ... -
0 votesanswersviews
pgsql中的游标(postgres)
我再次呼吁你的帮助 . 我正在将流程从Oracle迁移到postgres . 我声明此光标以提取信息并将其插入表中: esi_cur_fono cursor for SELECT (select nextval('edef_seq_pr')) seq_nextval, c_pcodigo_soc_dest, c_ctac_correlativo, ... -
1 votesanswersviews
POSTGRES / POSTGIS为后续循环动态定义RETURN表(列类型,名称)
我想要实现的是对来自表的记录数执行st_Intersection(clipper_geom,clipped_geom) . https://postgis.net/docs/ST_Intersection.html https://postgis.net/docs/ST_Intersects.html POSTGIS Intersection不支持本地处理多个几何,与st_intersects()... -
0 votesanswersviews
尝试使用嵌套事务控制执行过程时出现“ERROR:无效事务终止”
根据文档(https://www.postgresql.org/docs/current/app-psql.html),即使将 AUTOCOMMIT 设置为off,PSQL也会在任何尚未在事务块中的命令之前发出隐式 BEGIN ,并且本身不是 BEGIN 或其他事务控制命令,也不是命令在事务块中执行,例如 VACUUM . (不幸的是 CALL 的处理方式与 VACCUM 不同) . 并且,根... -
1 votesanswersviews
Postgresql,使用触发器维护分层数据
我有邻接列表表 account ,列 id , code , name 和 parent_id . 为了使排序和显示更容易,我添加了两列: depth 和 path (物化路径) . 我知道,postgresql有物化路径的专用数据类型,但我想使用更通用的方法,而不是特定于postgresql . 我还在设计中应用了几条规则:1) code 最长可达10个字符2)最大深度为9;所以root帐户可... -
0 votesanswersviews
plpgsql:使用动态setof返回类型创建函数
我正在尝试创建一个返回动态setof数据类型的函数 . 数据类型都是预先创建的,可以作为第4个变量调用 . CREATE OR REPLACE FUNCTION gethistoryrecord(text, text, text, text) RETURNS setof $4 AS $BODY$ declare r record; begin for r in EXECUTE 'S... -
1 votesanswersviews
PL / pgSQL返回查询给出了伪类型记录而不是表
我的第一个PL / pgSQL函数被设计为将几何列作为输入并输出一个fishnet / grid表(对我来说是一个常见的任务) . 我不确定在return语句中我做错了什么,因为我正在返回伪类型记录而不是具有不同列的表 . 我的代码: CREATE OR REPLACE FUNCTION ST_Fishnet( nrow integer, ncol integer... -
1 votesanswersviews
根据plpgsql中传递的给定表动态定义返回的行类型?
我正在plpgsql函数中动态构建一个查询,该函数接受一个源表作为传入变量 . 我想返回构建的 SELECT 语句的结果,该语句在给定的表上执行聚合,并返回该表的结果 . 但是,目前我收到以下错误: ******错误******错误:返回“record”SQL函数的函数需要列定义列表:42601 所以看起来我需要定义我想要返回的记录行的列类型 . I found this answer您可以通... -
4 votesanswersviews
PHP调用PostgreSQL函数 - 类型问题?
我在PostgreSQL / plpgsql中有一个带有以下签名的函数: CREATE OR REPLACE FUNCTION user_login(TEXT, TEXT) RETURNS SETOF _get_session AS $$ ... $$ _get_session 是一个视图 . 从phpPgAdmin调用它时该函数工作正常,但是我从PHP调用它时出现以下错误: 警告:pg_qu...