plpgsql相关内容

检查plpgsql中是否存在变量的最佳实践?

例如,我有一个存储过程,用于从csv文件导入数据并将读取的数据写入SQL表. 我有一个定义如下的表: CREATE TABLE person (id int, name text, age int, married boolean); 首先,我检查记录是否已经存在,如果存在,我会更新,如果不存在,请插入. 每个记录字段可能具有不同的类型,因此SQL命令的结果将分配给一个标量变量列表: ..
发布时间:2020-05-28 19:14:55 其他开发

清理输入到Postgres中的列

所以,我认为这应该很简单,但是文档使它看起来有些复杂.我已经在PostgreSQL(目前为8.1)中编写了一个SQL函数,该函数对某些字符串输入进行了一些清理.对于它的价值,该字符串是LDAP专有名称,我希望逗号后始终没有空格-函数是clean_dn(),该函数返回已清理的DN.我想做同样的事情,以强制所有输入到另外两列的输入都变为小写字母,以此类推-一旦我弄清楚了这部分,这应该很容易. 无 ..

PostgreSQL-对列名称的动态INSERT

我正在寻找在PostgreSQL中将一组列从一个表动态插入到另一个表中的方法.我想我想做的是在列标题的“检查表"(表1中的那些列-存储表)中读取的,如果它们在导出表中存在(表2),则将它们插入所有但是,表2会立即在表中的列中进行更改.一旦导入,表2就会被删除,并导入可能要使用不同列结构导入的新数据.所以我需要根据列名导入它. 例如 表1.-存储表 ID NAME ..
发布时间:2020-05-28 19:14:31 其他开发

PostgreSQL sql-state:SELECT INTO上为42601

好吧,我正在尝试创建一个简单的过程,检查是否有这样的登录用户,如果没有,请在用户表中添加新行.但是遇到了意外问题. CREATE OR REPLACE FUNCTION register_user(character varying, character varying, character varying,character varying,character varying) RET ..
发布时间:2020-05-28 19:14:29 其他开发

SQL合并行

更新 如何从订购的表中选择行 第一个元素与某行匹配 第二个元素与下一行匹配 第三个元素在第二行之后的下一行 第四元素位于第三行之后的下一行 以此类推,直到数组中的值结束? 逻辑 假设我将这些行作为查询的结果(表token容纳id和word,表positioning容纳id和position): id | word | textblockid |sentenc ..
发布时间:2020-05-28 19:14:21 其他开发

如何为Postgres应用程序组织参数

我正在研究postgres应用程序.目前,我不确定如何最好地管理应用程序常量参数.例如,我想定义一个阈值变量,该变量将在多个函数中使用. 一个想法是制作一个表"config",并在每次需要它们时查询该变量.对于快捷方式,将sql查询包装到其他函数中,即:t:= get_Config('Threshold'); 但是实际上我对此并不很幸运.处理自定义应用程序配置参数的最佳方法是什么?它们 ..
发布时间:2020-05-28 19:14:12 其他开发

我可以动态截断表格吗?

我有一个表,其中有3个不同的分区,在point_of_sale列上进行了拆分.我已经构造了一个视图(massive_table)来聚集来自这些分区的数据,如下所示: CREATE VIEW massive_table as SELECT * FROM massive_table_UK UNION ALL SELECT * FROM massive_table_US UNION ALL SEL ..
发布时间:2020-05-28 19:14:01 其他开发

INSERT INTO查询的动态表名称

我试图弄清楚如何使用表名称和源列名称作为参数编写INSERT INTO查询. 对于初学者来说,我只是想对源表名称进行参数化.我写了以下查询.现在,我直接声明并分配变量tablename的值,但是在实际示例中,它将来自其他某些来源/列表.目标表只有一列. CREATE OR REPLACE FUNCTION foo() RETURNS void AS $$ DECLARE tab ..
发布时间:2020-05-28 19:13:54 其他开发

Postgres拆分LineStrings并转换

我的问题是如何在PL/pgSQL中构建一个函数来做到这一点: 我有很多这样的线串. Linestring((3.584731 60.739211,3.590472 60.738030,3.592740 60.736220)) 我需要将每个Linestring拆分为一个Substring,然后再次将其拆分为2个坐标. 3.584731 60.739211 x1 ..
发布时间:2020-05-28 19:13:51 其他开发