`
ronon
  • 浏览: 187482 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

Oracle update时做表关联

阅读更多

  感觉还是sqlserver中的写法比较好理解,Oracle的写法都快把我搞晕了,

  注意:

  1.要修改的表,不要加入到子查询中,用别名在子查询中与其他表进行关联即可。

  2.exsits不能少,exsits后面的子查询与上一个子查询里的内容相同即可。

 

update  table1 t1 
set t1.name=
(
   select t2.name from table2 t2,table3 t3  
   where t2.id=t1.id2 and t3.id=t1.id3 and t2.is_del<>1
)
where exists
(
   select 1 from table2 t2,table3 t3 
   where t2.id=t1.id2 and t3.id=t1.id3 and t2.is_del<>1
)

 

分享到:
评论

相关推荐

    ORACLE_多表关联_UPDATE_语句

    例如: 两表(多表)关联update -- 仅在where字句中的连接 --这次提取的数据都是VIP,且包括新增的,所以顺便更新客户类别 update customers a -- 使用别名 set customer_type='01' --01 为vip,00为普通 where ...

    ORACLE多表关联的update语句

    --客户资料表 create table customers ( customer_id number(8) not null, -- 客户标示 city_name varchar2(10) not null, -- 所在城市 customer_type char(2) not null, -- 客户类型 ... ) create ...

    Oracle两张表关联批量更新其中一张表的数据

    UPDATE 表2 SET 表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A) WHERE EXISTS (SELECT 1 FROM 表1 WHERE 表1.A = 表2.A); 尤其注意最后的外层where条件尤为重要,是锁定其批量更新数据的范围。 方法二: ...

    oracle及sqlserver关联两个表update.txt

    oracle及sqlserver关联两个数据表进行update,即通过一个表的数据update另一个数据表字段

    oracle从一个表中获取数据更新到另一个表(两表无关联关系)

    oracle从一个表中获取数据更新到另一个表(两表无关联关系) 想到的唯一解决办法 行数定义时要和被修改的数据表的行数相同 declare cursor cor is select m.id from 提供数据表 m where rownum&lt;=行数; n_...

    Oracle中通过触发器来追踪用户的活动

    从Oracle8i开始,Oracle引入了特殊的触发器,这些触发器并不是和特殊的DML事件相关联的(DML事件,如,INSERT,UPDATE和DELETE)。这些系统级别的触发器包括数据库启动触发器,DDL触发器和最终用户登陆/注销触发器。...

    oracle实验报告

    (6)在一个单独的表上,最多只能创建三个触发器与之关联,一个INSERT触发器,一个DELETE触发器和一个UPDATE触发器。 1. 实例讲解Oracle数据库自带的几个触发器 Oracle数据库自带的几个触发器(最简单触发器格式)...

    ORACLE应用中常见的傻瓜问题1000问-1

    如何用BBB表的资料去更新AAA表的资料(有关联的字段) &lt;br&gt; UPDATE AAA SET BNS_SNM=(SELECT BNS_SNM FROM BBB WHERE AAA.DPT_NO=BBB.DPT_NO) WHERE BBB.DPT_NO IS NOT NULL; &lt;br&gt; 23. P4计算机安装方法 ...

    Oracle中通过触发器监视系统使用情况

    从Oracle8i开始,Oracle引入了特殊的触发器,这些触发器并不是和特殊的DML事件相关联的(DML事件,如,INSERT,UPDATE和DELETE)。这些系统级别的触发器包括数据库启动触发器,DDL触发器和最终用户登陆/注销触发器。...

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

    在创建表时,经常会创建该表的主键、外键、唯一约束、Check约束等  语法结构 create table 表名( [字段名] [类型] [约束] ……….. CONSTRAINT fk_column FOREIGN KEY(column1,column2,…..column_n) ...

    让Oracle跑得更快 Oracle 10g性能分析与优化思路.part2.rar

    6.3 表关联顺序的hint 125 6.3.1 leading hint 125 6.3.2 ordered hint 126 6.4 表关联操作的hint 127 6.4.1 use_hash,use_nl和use_merge hint 127 6.4.2 no_use_hash hint 132 6.4.3 no_use_merge hint 133 6.4.4 ...

    Oracle数据库设计策略及规范.docx

    USER_ID VARCHAR 创建用户ID CREATE_DATETIME DATE 创建时间 LAST_UPDATE_USER_ID VARCHAR 更新用户ID LAST_UPDATE_DATETIME TIMESTAMP 更新时间 不要用Identify字段作为表的主键与其它表关联。 4.3 索引设计 常规...

    oracle 数据按主键删除慢问题的解决方法

    删除A表的数据级联删除另两个表的关联数据。增删改查使用hibernate实现。 一开始一直以为是hibernate的内部处理上有关联操作导致的删除和更新数据缓慢。所以将原先使用hibernate的saveOrupdate方法,改查jdbc的 sql...

    Oracle触发器trigger详解

    每当一个特定的数据操作语句(insert update delete)在指定的表上发出时,Oracle自动执行触发器中定义的语句序列。 举个简单的例子: 当员工表中新增一条记录后,自动打印“成功插入新员工” create or replace ...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

    3.2 描述启动和关闭数据库时的多个阶段 88 3.2.1 Database Control的启动和连接 88 3.2.2 启动数据库侦听器 90 3.2.3 启动SQL*Plus 91 3.2.4 启动和关闭数据库 92 3.3 使用警报日志和跟踪文件 100 3.4 使用...

    让Oracle跑得更快 Oracle 10g性能分析与优化思路.part1.rar

    6.3 表关联顺序的hint 125 6.3.1 leading hint 125 6.3.2 ordered hint 126 6.4 表关联操作的hint 127 6.4.1 use_hash,use_nl和use_merge hint 127 6.4.2 no_use_hash hint 132 6.4.3 no_use_merge hint 133 6.4.4 ...

    在Oracle数据库中同时更新两张表的简单方法

    今天遇到一个数据订正的问题,项目背景如下,有个表A,有两个字段a1,a2还有一个关联表B,其中也有两个字段,b1和b2。其中a2和b2是关联的,想把A中的字段a1更新成B中的b1 理论上sql应该挺好写的,但是在oralce中实现...

    Oracle9i的init.ora参数中文说明

    只有行锁将用于SELECT FOR UPDATE, 但在更新时将获取表锁。 值范围: ALWAYS | DEFAULT | INTENT 默认值: ALWAYS shared_servers 说明 : 指定在启动例程后, 要为共享服务器环境创建的服务器进程的数量。 值范围: ...

Global site tag (gtag.js) - Google Analytics