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

前端之家收集整理的这篇文章主要介绍了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.

猜你在找的Postgre SQL相关文章