繁体   English   中英

在 oracle 中将数据从一个表移动到另一个表

[英]Move data from one table to another in the oracle

如何在 oracle 中将数据从 3 个表移动到另一个表? selectaid,aname,aage 从 tTableA,tTableB,tTableC 进入 tTableD

在此处输入图像描述

假设所有 ID 值都是不同的(或不进入唯一列),则:

INSERT INTO tTableD ( aID, aName, aAge )
SELECT aID, aName, aAge FROM tTableA UNION ALL
SELECT aID, aName, aAge FROM tTableB UNION ALL
SELECT aID, aName, aAge FROM tTableC;

如果它们不是不同的并且aID列具有唯一约束,那么您将需要生成新的 ID 值并假设您有一个名为tTableD__aID__seq的序列:

INSERT INTO tTableD ( aID, aName, aAge )
SELECT tTableD__aID__seq.NEXTVAL, aName, aAge
FROM (
  SELECT aName, aAge FROM tTableA UNION ALL
  SELECT aName, aAge FROM tTableB UNION ALL
  SELECT aName, aAge FROM tTableC
);

db<> 在这里摆弄

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM