postgresql – 创建临时表(如果不存在)以用于自定义过程
发布时间:2020-12-13 15:51:21 所属栏目:百科 来源:网络整理
导读:我正试图使用??临时表: 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 exis
我正试图使用??临时表:
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表如下所示:
BEGIN DROP TABLE IF EXISTS temp_table1; create temp table temp_table1 -- Your rest Code comes here (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |