目的及由来,因为数据库表都采取逻辑删除isDeleted=true/flase,但是之前有些报表或者其他的sql并没有在sql中指明此条件。为了不影响之前代码,所以:

1、数据库中创建一张相同的表,把删除的记录保存到备份表bak_table,bak_table的所有字段均与原表一致(包括isDeleted)。然后原表做物理删除。

(以下可能只适用于oracle)

一、利用oracle的语法 createt table … as ; insert into…

1、复制表结构以及数据
create table target_table as select * from source_table;
-- 1、target并不会创建索引、默认值、非空等约束条件 (暂时只知道这3个没有)
-- 可能需要target_table不存在 2、只复制表结构
create table target_table as select * from source_table where 0=1;
-- 条件成立则复制成立的数据,没有成立的数据则只有表 3、复制数据
(1)、两个表结构一样
insert into target_table select * from source_table where id = ?; (2)、两个表的结构不一样,只复制部分列
insert into target_table (column1,column2,column3) select column1x,column2x,column3x from source_table;

二、利用工具pl/sql、navicat导出表结构的sql,在修改成对应的target_table的创建语法。

这样的好处是,有默认值、非空约束、索引。但触发器不一定能创建,而且target_table不一定需要这些。就如前面说的,备份逻辑删除的数据,其实只要一模一样也不会操作,只是后面可能需要关联查到被删除的数据信息而已。

(但,可能查询速度相对第一种较慢。)

三、备注

没有特别去看上面2种的优劣,只是查找怎么做的时候无意在oralce官方文档看到了下面的东西: ORACLE CREATE TABLE

PARALLEL Example The following statement creates a table using an optimum number of parallel execution servers to scan employees and to populate dept_80:

CREATE TABLE dept_80
PARALLEL
AS SELECT * FROM employees
WHERE department_id = 80;

Using parallelism speeds up the creation of the table, because the database uses parallel execution servers to create the table.

After the table is created, querying the table is also faster, because the same degree of parallelism is used to access the table.

(可是还有因为英语不好,在理解上有错误…><!)

附录:

oracle复制表数据,复制表结构

ORACLE Creating Tables

ORACLE CREATE TABLE

【database】复制表数据到相同备份表的更多相关文章

  1. 取A表数据,关联B表任意一条数据

     表A=================== AID, AName 1 jack 2 mary 3 lily 表B================== BID, AID, BName 1 1 aaa ...

  2. sqlserver复制表数据到另一个表

    SQL Server中,如果目标表存在: insert into 目标表 select * from 原表; SQL Server中,,如果目标表不存在: select * into 目标表 from ...

  3. SQL Server 的表数据简单操作(表数据查询)

    --表数据查询----数据的基本查询-- --数据简单的查询--select * | 字段名[,字段名2, ...] from 数据表名 [where 条件表达式] 例: use 商品管理数据库 go ...

  4. merge源表数据移植到目标表新表数据中

    merge into dbo.ak_SloteCardTimes a using(select RecordID,CardNO,SloteCardTime from dbo.Tb_CardDate b ...

  5. 设计一个A表数据抽取到B表的抽取过程

    原题如下: 解题代码如下: table1类: @Data @NoArgsConstructor @AllArgsConstructor public class table1{ private Str ...

  6. sql server复制表数据到另外一个表 的存储过程

    ) Drop Procedure GenerateData go CREATE PROCEDURE GenerateData @tablename sysname AS begin ) ) ) dec ...

  7. MongoDB 通过自带工具命令进行备份表,再将备份表还原出数据

    创建一个bat文件 在其中输入以下3行 第1行进入工具mongodump所在的目录 第2行 将Adam数据库里面的 第3行 将上面存在C:\Data\Dump\Adam\文件夹里面的TBLQuickS ...

  8. 获取B表数据添加到A表中作为一个下拉列表元素存在

    1.ProductController类里toedit方法内添加: ProductModel product = ProductModel.dao.findById(id); //通过id查找服务类 ...

  9. mysql把A表数据插入到B表数据的几种方法

    web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码 ...

随机推荐

  1. 《Python学习手册 第五版》 -第6章 动态类型

    本章主要讲述变量.对象.引用三者直接的关联及区别,详细说明了在变量赋值的操作中,计算机内部到底发生了什么,有哪些是不被人察觉和需要明确了解的 1.先从最简单的赋值语句开始 a=3 这一句,基本就能涵盖 ...

  2. YUM源部署和使用

    1.前言 为什么需要内部yum源呢,有可能是业务内部的服务器对外是不通了,居于一些安全方面的考虑.内部yum源又有什么好处呢,第一,速度快:第二,内网可控,外网有问题也不影响内网包的下载和安装等. 2 ...

  3. 机器学习(ML)十三之批量归一化、RESNET、Densenet

    批量归一化 批量归一化(batch normalization)层,它能让较深的神经网络的训练变得更加容易.对图像处理的输入数据做了标准化处理:处理后的任意一个特征在数据集中所有样本上的均值为0.标准 ...

  4. [教程分享]锐族MP3刷固件教程

    转载自我的博客:https://blog.ljyngup.com/archives/163.html/ (废话较多见谅) 在到学校前发现几个月前锐族mp3的固件更新了,赶紧刷了一个,发现网上关于这个售 ...

  5. css3 3d api

    perspective 人看东西的距离 perspective: 500; 越小3d效果越好 perspective-origin观察视点.此处默认为视图的中心点 transform-origin:2 ...

  6. RFC笔记,IPv6 Node Requirements

    Request for Comments: 6434,IPv6 Node Requirements 路由器节点必须能够生成链路本地地址 5.9.2. IPv6 Stateless Address Au ...

  7. linux的那些事-时间 时区

    时间表示: 用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 以给定的格式显示当前时间,或是设置系 ...

  8. 如何使用Xcode调试Shader代码Bug导致的渲染问题

    我最近发现了一个与Unity中的表面着色器有关的小Bug. 你可以看到如下所示的渲染瑕疵. 有时人们会将相似的渲染瑕疵归因于同时使用HDR和Bloom效果,但实际上,表面着色器是错误的,至少在本文中所 ...

  9. generator 和 co模块

    // 类数组的生成器 // 类数组的生成器 function fns() { let obj = {0:1,1:2,2:3,length: 3}, [Symbol.iterator]: functio ...

  10. np.vstack与np.hstack

    转自:https://zhuanlan.zhihu.com/p/82996332   留作备忘