plpgsql相关内容
给出以下架构: create table account_type_a ( id SERIAL UNIQUE PRIMARY KEY, some_column VARCHAR ); create table account_type_b ( id SERIAL UNIQUE PRIMARY KEY, some_other_column VARCHAR ); create
..
我有一个Postgres函数: create function myfunction(integer, text, text, text, text, text, text) RETURNS table(id int, match text, score int, nr int, nr_extra character varying, info character varying, pos
..
我正在尝试创建一个返回SELECTed结果集的函数. 当我像这样select * from tst_dates_func()调用我的postgres函数时,出现如下所示的错误: ERROR: query has no destination for result data HINT: If you want to discard the results of a SELECT, use
..
我正在按计数将一个巨大的表汇总到一个新表中,在这里我想将所有空字符串都更改为NULL,并且还要对某些列进行类型转换.我通读了一些帖子,但找不到查询,这使我可以在单个查询中跨所有列进行查询,而无需使用多条语句. 让我知道是否可以遍历所有列,并用空字符串替换为null来替换单元格. 参考:如何使用SQL Server将空白转换为空值? 解决方案 据我所知,没有内置函数可以替换表中所
..
我正在使用一个生成随机ID的系统,如答案#2 我的问题是,提到的 pseudo_encrypt()函数只能用于int而不是bigint.我试图重写它,但是它总是返回相同的结果: CREATE OR REPLACE FUNCTION pseudo_encrypt(VALUE bigint) returns bigint AS $$ DECLARE l1 bigint; l2 int; r1 b
..
我使用'CREATE OR REPLACE FUNCTION somefunction'将所有功能保存在文本文件中. 因此,如果我添加或更改某些功能,我只会将文件提供给psql. 现在,如果我在现有函数中添加或删除参数,它将创建一个具有相同名称的重载,并按照确切的顺序删除所有参数类型中我需要的原始类型. 是否可以使用某种通配符来删除具有给定名称的所有功能,以便仅在文件顶部添加DROP
..
我正在尝试编写一个将csv数据加载到表中的函数.我希望输入参数是文件的路径. CREATE OR REPLACE FUNCTION public.loaddata(filepathname varchar) RETURNS void AS $BODY$ BEGIN COPY climatedata( climatestationid, date, prcp,
..
我有一个Postgres函数,该函数正在返回一个表: CREATE OR REPLACE FUNCTION testFunction() RETURNS TABLE(a int, b int) AS $BODY$ DECLARE a int DEFAULT 0; DECLARE b int DEFAULT 0; BEGIN CREATE TABLE tempTable AS SELECT a
..
如何将查询结果分配给PL/pgSQL(PostgreSQL的过程语言)中的变量? 我有一个功能: CREATE OR REPLACE FUNCTION test(x numeric) RETURNS character varying AS $BODY$ DECLARE name character varying(255); begin name ='SELECT name F
..
我需要创建一个函数,该函数将运行查询并返回表名和列名,并赋予该函数以结果.我目前有这个: CREATE OR REPLACE FUNCTION qa_scf(tname character varying, cname character varying) RETURNS SETOF INT AS $BODY$ BEGIN RETURN QUERY SELECT * FROM tname W
..
要放弃阅读整个问题,我的基本问题是: PostgreSQL中是否有一个函数可以转义字符串中的正则表达式字符? 我已经浏览了文档,但是找不到这种功能. 这是个完整的问题: 在PostgreSQL数据库中,我有一列具有唯一名称.我也有一个过程,该过程会定期在此字段中插入名称,并且为了防止重复,如果需要输入已经存在的名称,则会在其末尾附加一个空格和括号. 即名称,名称(1),名
..
我需要一个Postgres函数来返回带有自定义内容的虚拟表(例如在Oracle中).该表将有3列,行数未知. 我只是在互联网上找不到正确的语法. 想象一下: CREATE OR REPLACE FUNCTION "public"."storeopeninghours_tostring" (numeric) RETURNS setof record AS DECLARE o
..
是否可以从Postgres函数返回多个结果集,例如在MSSQL中? CREATE PROCEDURE test AS SELECT * FROM first_table SELECT * FROM second_table 解决方案 自PostgreSQL 8.3起就采用了一种更简单的方法: CREATE FUNCTION test() RETURNS SETOF fi
..
我试图在PostgreSQL中创建crosstab查询,以便它自动生成crosstab列,而不是对其进行硬编码.我编写了一个函数,该函数可以动态生成我的crosstab查询所需的列列表.想法是使用动态sql在crosstab查询中替换此函数的结果. 我知道如何在SQL Server中轻松地做到这一点,但是我对PostgreSQL的有限了解阻碍了我的进步.我正在考虑将将列的动态列表生成的函数的
..
我正在使用PL/pgSQL编写SP. 我想返回一条记录,其中包含来自几个不同表的字段.可能看起来像这样: CREATE OR REPLACE FUNCTION get_object_fields(name text) RETURNS RECORD AS $$ BEGIN -- fetch fields f1, f2 and f3 from table t1 -- fetch f
..
我想通过在单个参数上传递多个值来调用函数,如下所示: SELECT * FROM jobTitle('270,378'); 这是我的职责. CREATE OR REPLACE FUNCTION test(int) RETURNS TABLE (job_id int, job_reference int, job_job_title text
..
我在我的Postgres数据库中实现了此功能: http://www.cureffi.org/2013/03/19/automatically-creating-pivot-table-column-names-in-postgresql/ 功能如下: create or replace function xtab (tablename varchar, rowc varchar, c
..
我想对PostgreSQL中的表进行大的更新,但是我不需要在整个操作中维护事务的完整性,因为我知道我要更改的列将不会写入或在更新过程中阅读.我想知道在psql控制台中是否有一种简便的方法 使这些类型的操作更快. 例如,假设我有一个名为"orders"的表,该表具有3500万行,而我想这样做: UPDATE orders SET status = null; 为了避免转移到主题之外的
..
我正在用PL/pgSQL编写一个函数,并且正在寻找检查行是否存在的最简单方法. 现在,我正在选择integer到boolean中,这实际上是行不通的.我对PL/pgSQL的经验还不够,还不知道执行此操作的最佳方法. 这是我功能的一部分: DECLARE person_exists boolean; BEGIN person_exists := FALSE; SELECT "per
..
(免责声明:PostgreSQL新手.) 据我所知,我的功能与我所看到的示例十分相似.有人可以告诉我如何使它工作吗? create or replace function get_user_by_username( username varchar(250), online boolean ) returns setof record as $$ declare
..