ORCLE通用SQL

ORCLE通用SQL

1. 根据另一个表字段更新当前表字段
2. 去重
3. 复制表
4. 数据闪回
5. 修改字段数据类型
程序员翻身


1. 根据另一个表字段更新当前表字段

update tableA a
  set a.name = (select distinct b.ennmcd from tableB b where b.id = a.id)
  where a.name is null;

2. 去重

select *
  from (select t.*, row_number() over (partition by t.id order by t.createTime desc) rw
      from tableName t) t1
  where t1.rw = 1

3. 复制表

create table TABLE_A_BAK as select * from TABLE_A;

4. 数据闪回

--1、启动表的row movement特性
ALTER TABLE TABLENAME ENABLE ROW MOVEMENT;

--2、闪回指定时间的快照
FLASHBACK TABLE TABLENAME TO TIMESTAMP
    TO_TIMESTAMP('2022-05-25 10:00:00','yyyy-mm-dd hh24:mi:ss');

--3、关闭表的row movement功能
ALTER TABLE TABLENAME DISABLE ROW MOVEMENT;

5. 修改字段数据类型

/*修改原字段名name为name_tmp*/
alter table TABLE_NAME rename column parent_id to parent_id_tmp;

/*增加一个和原字段名同名的字段name*/
alter table TABLE_NAME add parent_id varchar2(15);

/*将原字段name_tmp数据更新到增加的字段name*/
update TABLE_NAME set parent_id=trim(parent_id_tmp);

/*更新完,删除原字段name_tmp*/
alter table TABLE_NAME drop column parent_id_tmp;

<a id="jump_8"></a>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • MySQL 学习笔记(一)[https://www.jianshu.com/p/dde13bbe0fd9] MyS...
    Whyn阅读 316评论 0 0
  • 数据处理概述数据处理的基本目的是从大量的、可能是杂乱无章的、难以理解的数据中抽取并推导出对于某些特定的人们来说是有...
    乐智由我阅读 451评论 0 1
  • 5种基本数据类型 String、 List、 Hash、 Set、 Sorted Set 基本操作 String ...
    taj3991阅读 4,131评论 0 0
  • 一、Hive基本概念 Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提...
    CJ21阅读 1,766评论 0 13
  • MySQL高级SQL操作 数据新增多数据插入蠕虫复制主键冲突 查询数据查询选项别名数据源where子句group ...
    Ly3911阅读 676评论 0 0