postgresql – 如何在postgres中的同一个表中克隆或复制记录?

如何通过创建临时表来克隆或复制PostgreSQL中相同表中的记录.

尝试使用更改的名称(在该表中基本上是复合键)创建从一个表到同一个表的记录克隆.

解决方法

您可以在一个INSERT和SELECT中一起完成所有操作.

即假设你有以下表格定义和填充的数据:

create table original
(
  id serial,name text,location text
);

INSERT INTO original (name,location)
VALUES ('joe','London'),('james','Munich');

然后你可以在不使用TEMP TABLE的情况下INSERT执行你正在谈论的那种切换,如下所示:

INSERT INTO original (name,location)
SELECT 'john',location
FROM original
WHERE name = 'joe';

这是一个sqlfiddle.

这也应该更快(尽管对于微小的数据集在绝对时间方面可能不是很大),因为它只执行一个INSERT和SELECT而不是额外的SELECT和CREATE TABLE加上UPDATE.

相关文章

文章浏览阅读601次。Oracle的数据导入导出是一项基本的技能,...
文章浏览阅读553次。开头还是介绍一下群,如果感兴趣polardb...
文章浏览阅读3.5k次,点赞3次,收藏7次。折腾了两个小时多才...
文章浏览阅读2.7k次。JSON 代表 JavaScript Object Notation...
文章浏览阅读2.9k次,点赞2次,收藏6次。navicat 连接postgr...
文章浏览阅读1.4k次。postgre进阶sql,包含分组排序、JSON解...