小编Ope*_*umb的帖子

postgres 无法识别函数中的临时表

这可能是因为我累了,或者我是 postgres 新手。然而,我试图在函数中使用临时表,postgres 抱怨“关系不存在”。然而,如果我获取函数的主体并执行它,它就可以正常工作。下面是我尝试创建的函数类型的示例。请记住,我已经删除了所有有趣的内容,以便以接近最低限度的方式显示我的问题。

CREATE OR REPLACE FUNCTION dbo.somefunc() RETURNS void AS
$BODY$ 

CREATE TEMPORARY TABLE work_list
(
    name text,
    level smallint
);

insert into work_list
    (name, level)
values
    ('someone', 25);

$BODY$
LANGUAGE sql VOLATILE;
Run Code Online (Sandbox Code Playgroud)

我收到的投诉是在插入声明中。实际的投诉是:

ERROR:  relation "work_list" does not exist
Run Code Online (Sandbox Code Playgroud)

postgres 不支持函数中的临时表吗?或者是否有一些我错过的语法问题导致该问题令人窒息并且给了我一个虚假错误?

sql postgresql temp-tables user-defined-functions

6
推荐指数
1
解决办法
1万
查看次数