gpt4 book ai didi

postgresql - 创建一个临时表(如果不存在)以用于自定义过程

转载 作者:行者123 更新时间:2023-11-29 11:37:53 25 4
gpt4 key购买 nike

我正在尝试掌握使用临时表的窍门:

CREATE OR REPLACE FUNCTION test1(user_id BIGINT) RETURNS BIGINT AS
$BODY$

BEGIN
create temp table temp_table1
ON COMMIT DELETE ROWS

as SELECT table1.column1, table1.column2
FROM table1
INNER JOIN -- ............

if exists (select * from temp_table1) then
-- work with the result
return 777;
else
return 0;
end if;

END;
$BODY$
LANGUAGE plpgsql;

我想要行temp_table1立即或尽快删除,这就是我添加 ON COMMIT DELETE ROWS 的原因.显然,我得到了错误:

ERROR:  relation "temp_table1" already exists

我尝试添加 IF NOT EXISTS但我不能,我根本找不到它的工作示例,这将是我正在寻找的。

你的建议?

最佳答案

每次在创建 TEMP 表之前 DROP Table 如下:

BEGIN
DROP TABLE IF EXISTS temp_table1;
create temp table temp_table1
-- Your rest Code comes here

关于postgresql - 创建一个临时表(如果不存在)以用于自定义过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22929365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com