PostgreSQL函数返回的值的名称

萨姆·毕晓普

我正在编写一些首次与PostgreSQL服务器对话的代码(我的经验是在SQL Server上),我需要帮助来弄清楚一些问题。

我一直试图避免代码中出现“ SELECT * ...”,但是我无法弄清楚调用函数时的替代方法是什么。(不幸的是,我发现的所有示例都执行“ SELECT * ...”)

这是我要调用的函数:

CREATE OR REPLACE FUNCTION aSchema.aFunction(var1 text, var2 accountidentifier, ...)
  RETURNS int8
AS
$BODY$
  DECLARE
    retJobId    BIGINT;
BEGIN
    INSERT INTO aSchema.aTable (var1, var2, ...)
    VALUES (var1, var2, ...)
    RETURNING jobId INTO retJobId;

    PERFORM aSchema.anotherFunction(retJobId, ...);

    RETURN retJobId;
END;
$BODY$
LANGUAGE plpgsql VOLATILE;

我试过了SELECT retJobId FROM aSchema.aFunction(...)但是知道了ERROR: column "retjobid" does not exist用“ *”代替“ retJobId”是可行的,但是,就像我说的那样,我想避免这样做。

克林

您可以选择:

select aschema.afunction() as my_name;               -- like in IMSoP's answer
select my_name from aschema.afunction() as my_name;  -- with alias
select afunction from aschema.afunction();           -- with function name

如果添加aschema到搜索路径,则可以省略架构标识符:

set search_path to public, aschema;
select afunction() as my_name;
select my_name from afunction() as my_name;
select afunction from afunction();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TSQL:函数的返回值是列的名称

来自分类Dev

为什么打印函数名称会返回值?

来自分类Dev

无法调用应返回文本值的Postgresql函数

来自分类Dev

Postgresql函数,用于锁定表,更新值并返回行

来自分类Dev

如何通过INT ID从PostgreSQL函数返回值数组

来自分类Dev

PostgreSQL函数返回多行

来自分类Dev

PostgreSQL函数返回多行

来自分类Dev

从函数返回数据框的名称

来自分类Dev

在Postgresql函数的表中插入值后,如何返回集合,数组或任何插入的值?

来自分类Dev

函数返回无值

来自分类Dev

函数的返回值

来自分类Dev

返回多个值的函数

来自分类Dev

从函数返回承诺值

来自分类Dev

函数返回意外值

来自分类Dev

从函数返回多个值

来自分类Dev

返回多个值的函数

来自分类Dev

从函数返回多个值

来自分类Dev

函数返回值

来自分类Dev

从PostgreSQL函数返回SETOF行

来自分类Dev

PostgreSQL函数返回整数或null

来自分类Dev

从函数内部返回名称未知的函数

来自分类Dev

调用函数返回[函数:名称]-JavaScript

来自分类Dev

返回值列名称

来自分类Dev

根据值返回字典名称

来自分类Dev

Oracle:如何创建返回“ SELECT * FROM选项卡的名称为IN(function())”的值的函数

来自分类Dev

是否有一个函数可以为errno值返回符号名称,例如EIO?

来自分类Dev

是否有一个容器“ C a”的名称,其中包含“ a”或返回“ C a”类型值的函数?

来自分类Dev

在r中使用max()函数在vector中返回值及其名称?

来自分类Dev

在TypeScript中,如何在函数的返回类型中将参数的值用作属性名称?