1 0

Oracle跟据a表修改b表的简单语句?5

在Oracle中,如果两张表的结构完全相同,那么新增的时候可以写成:
insert into a select * from b;
那么修改呢,如果想根据b表的数据来修改a表,有没有类似上面的语句啊,我的表结构上百个字段,我不想在存储过程中一个一个的使用set来完成,请大家帮忙,非常感谢!
2012年5月31日 09:05

5个答案 按时间排序 按投票排序

0 0

采纳的答案

Oracle有个Merge Into非常好用好吧:

Merge into A a
using(select b.xx,b.xxx from B)b
on(a.xx=b.xx)
when matched then
      update
          set a.xxx=b.xxx
when not matched then
      insert
            (a.xx,a.xxx)
      values
            (b.xx,b.xxx)

2012年6月01日 16:07
0 0

chensming 兄的这个应该可以 但是就是不知道效率的问题 第一句没问题 但是在COPY数据的时候 不知道执行效率


truncate table a;
然后 insert into a select * from b;


update a set a.xxx = (select b.xxx from b where b.id = a.id)
也是可行


2012年6月04日 10:51
0 0

不知道啊 所以说试试啊 不行就换一个么。。。例如 update A  set a.name = (select b.name from B b where a.id = b.id) where exists (select 1 from B b where a.id = b.id);
按道理是应该可以的。。。。。。。嚓 我还搜了下资料来着。。。。
http://topic.csdn.net/t/20020828/09/976010.html
http://topic.csdn.net/u/20080226/10/e9a7c1f4-42e6-4266-9c98-ecd17963bcd1.html 

2012年5月31日 13:53
0 0

truncate table a;
然后 insert into a select * from b;

2012年5月31日 10:53
0 0

这个。。。试试

update a set a.xxx = (select b.xxx from b where b.id = a.id)

2012年5月31日 09:33

相关推荐

    ORACLE存储过程实现添加、修改、删除、查询

    ORACLE存储过程实现添加、修改、删除、查询

    oracle基础教程

    oracle基础教程 课程说明 1 课程介绍 1 课程目标 1 相关资料 1 第1章 ORACLE数据库概述 2 1.1 产品概述 2 1.1.1 产品简介 2 ...附录A ORACLE数据字典与视图 62 附录B 动态性能表 68 附录C SQL语言运算符与函数 70

    经典SQL语句大全

    SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c B:right (outer) join: 右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。 C:full/cross (outer...

    数据库系统管理与维护(Oracle)第三次作业.doc

    这些选项都不对 题目10、用来存储最近被SQL语句访问过的数据块的区域是( A )。 选择一项: a. Database Buffer Cache b. PGA c. Shared Pool d. UGA 题目11、以下哪个不是系统权限?(C ) 选择一项: a. DROP ...

    Oracle一个用户如何访问其它用户的表应用指南

    我要问的是,能否通过修改Oracle的设置,将A访问B拥有表的语也变为跟B用户登录一样的语句:SELECT * FROM TABLENAME? 代码如下: create synonym tablename for B.TABLENAME; 除了一楼的创建同义词外,还要授予A用户...

    oracle数据库经典题目

    13. 用_____语句修改表的一行或多行数据。( A ) A.Update B.set C.Select D.Where 14. 使用什么命令可以清除表中所有的内容? ( D ) A.INSERT B.UPDATE C. DELETE D.TRUNCATE 15.关于模式的描述下列哪一项不...

    数据库操作语句大全(sql)

    SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c B:right (outer) join: 右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。 C:full/cross (outer...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。  拉里•埃里森  就业前景 从就业与择业的...

    最全的oracle常用命令大全.txt

    b、将一张表删除语句的格式如下: DORP TABLE 表名; 例:表删除将同时删除表的数据和表的定义 sql>drop table test c、表空间的创建、删除 六、ORACLE逻辑备份的SH文件 完全备份的SH文件:exp_comp.sh rq=` ...

    经典全面的SQL语句大全

    SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c  B:right outer join:  右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。  C:full outer join: ...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    12.2.1 B-树索引 339 12.2.2 位图索引 340 12.2.3 索引组织表 341 12.3 分区索引 343 12.3.1 局部索引 343 12.3.2 全局索引 345 12.3.3 散列分区与范围分区 346 12.4 与应用特点相匹配的解决方案 348 ...

    Oracle.11g.从入门到精通 (2/2)

    8.1.4 使用ALTERUSER语句修改 用户的默认角色 8.1.5 使用SET ROLE控制角色使用 8.2 回收权限 8.2.1 逐一回收 8.2.2 删除角色 8.2.3 删除数据库对象 8.2.4 删除用户 8.3 不同用户权限管理 8.4 管理对数据库对象的访问...

    ORACLE9i_优化设计与系统调整

    第一部分 ORACLE系统优化基本知识 23 第1章 ORACLE结构回顾 23 §1.1 Oracle数据库结构 23 §1.1.1 Oracle数据字典 23 §1.1.2 表空间与数据文件 24 §1.1.3 Oracle实例(Instance) 24 §1.2 Oracle文件 26 §1.2.1...

    Oracle数据库管理员技术指南

    4.9 保护 SYSTEM 表空间的三种简单 方法 4.10 为什么必须保护 ORACLE_HOME 4.11 保护操作系统 4.12 如何保护回退段 4.13 分类和划分数据 4.14 划分表空间的优先次序 4.15 如何配置高可用性的 TEMP 表空间 ...

    Oracle.11g.从入门到精通 (1/2)

    8.1.4 使用ALTERUSER语句修改 用户的默认角色 8.1.5 使用SET ROLE控制角色使用 8.2 回收权限 8.2.1 逐一回收 8.2.2 删除角色 8.2.3 删除数据库对象 8.2.4 删除用户 8.3 不同用户权限管理 8.4 管理对数据库对象的访问...

    韩顺平oracle学习笔记

    4 学会在oracle中编写简单的select语句 第1讲:基础语法 内容介绍: 1.为什么学习oracle 2.介绍oracle及其公司的背景 3.学会安装、启动、卸载oracle 4.oracle开发工具 5.Sql*plus的常用命令 6.oracle用户管理 ...

Global site tag (gtag.js) - Google Analytics