postgresql – 如果表已存在,则从选择中创建临时表或插入
发布时间:2020-12-13 16:32:08 所属栏目:百科 来源:网络整理
导读:创建临时表的最佳方法是什么(如果它尚不存在),并将所选行添加到其中? CREATE TABLE AS 是最简单,最快捷的方式: CREATE TEMP TABLE tbl ASSELECT * FROM tbl WHERE ... ; 不确定表是否已存在 CREATE TABLE IF NOT EXISTS ... 是在Postgres 9.1版本中引入的.
创建临时表的最佳方法是什么(如果它尚不存在),并将所选行添加到其中?
CREATE TABLE AS
是最简单,最快捷的方式: CREATE TEMP TABLE tbl AS SELECT * FROM tbl WHERE ... ; 不确定表是否已存在
然后: INSERT INTO tbl (col1,col2,...) SELECT col1,... 如果临时表已经存在,您的代码中可能出现问题.确保您不会在表格中复制数据.或者考虑以下段落…… 独特的名字 临时表仅在您当前会话中可见(不要与事务混淆!).因此表名不能与其他会话冲突. 创建一次: CREATE SEQUENCE tablename_helper_seq; 您可以使用DO语句(或plpgsql函数): DO $do$ BEGIN EXECUTE 'CREATE TEMP TABLE tbl' || nextval('tablename_helper_seq'::regclass) || ' AS SELECT * FROM tbl WHERE ... '; RAISE NOTICE 'Temporary table created: "tbl%"' || ',lastval(); END $do$;
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读