oracle中的UPDATE FROM 解决方法

原创 2004年10月26日 12:21:00

ORACLE中没有类似SQL SERVER的update from功能

一个解决的办法是

/* Formatted on 2004/10/26 11:15 (Formatter Plus v4.5.2) */
UPDATE tablea a
   SET a.fieldforupdate =
            (SELECT b.fieldsource
               FROM tableb b
              WHERE a.keyfield = b.keyfield)
 WHERE EXISTS (
              SELECT b.fieldsource
                FROM tableb b
               WHERE a.keyfield = b.keyfield)



例子

表text

  fielda                fieldb               fieldc
  1                2004-1-1        2004-2-1 
  2                2004-2-2        2004-3-1
  3                2004-3-1        2004-4-1

如果要根据记录2的b字段值更新记录1的c字段值则可以使用如下sql

/* Formatted on 2004/10/26 11:25 (Formatter Plus v4.5.2) */
UPDATE text a
   SET a.fieldb = (SELECT b.fieldb
                     FROM text b
                    WHERE a.fielda = b.fielda
                      AND b.fieldb > a.fieldb
                      AND   b.fieldb
                          - a.fieldb <= 35)
 WHERE EXISTS ( SELECT b.fieldb
                  FROM text b
                 WHERE a.fielda = b.fielda
                   AND b.fieldb > a.fieldb
                   AND   b.fieldb
                       - a.fieldb <= 35)



Oracle中的三种 UPDATE FROM 的解决方案

表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据。象sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来。虽然只能对一个表进行更新,但是通过...
  • wzy0623
  • wzy0623
  • 2016年12月29日 14:00
  • 2354

Oracle没有UPDATE FROM 的解决方法

Oracle没有update from语法,可以通过两种写法实现同样的功能: 1:子查询UPDATE A SET A.NAME=(SELECT B.NAME FROM B WHERE B.ID=A.I...
  • jarniyy
  • jarniyy
  • 2016年02月29日 23:19
  • 920

oracle update set select from 关联更新

SQL>select * from wwn2; TOWN ID -------------------- ---------- 222 ...
  • disiwei1012
  • disiwei1012
  • 2016年09月19日 20:48
  • 3354

Oracle_Update...Set...From...解决方法Merge Into...Using...

Oracle_Update...Set...From...解决方法Merge Into...Using...
  • sgs595595
  • sgs595595
  • 2016年06月02日 17:30
  • 620

oracle update from 问题!

  update t_tmprpt_firstreplycosttime t set (t.firstreplytime, t.dealstaff, t.firstr...
  • muou2008
  • muou2008
  • 2009年11月11日 17:18
  • 6346

Oracle中的UPDATE FROM解决方法

    今天又碰到了这个问题,在Oracle中没有update from这样的语法,但可以实现同样的功能。    表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据。象sql serv...
  • EdgenHuang
  • EdgenHuang
  • 2008年12月23日 09:55
  • 812

oracle for update of和for update区别

对比区别:   select * from TTable1 for update 锁定表的所有行,只能读不能写   2  select * from TTable1 where pkid = 1 ...
  • czy2001win
  • czy2001win
  • 2016年08月16日 06:25
  • 5045

oracle中的UPDATE FROM 解决方法

oracle中的UPDATE FROM 解决方法 ORACLE中没有类似SQL SERVER的update from功能一个解决的办法是/* Formatted on 2004/10/26 11:15...
  • mincyw
  • mincyw
  • 2005年04月13日 17:29
  • 1080

Oracle中的 UPDATE FROM 解决方法

在表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据。象sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来。虽然只能对一个表进行更新,但是通...
  • yan2702
  • yan2702
  • 2013年09月05日 22:32
  • 256

转贴:Oracle中的 UPDATE FROM 解决方法

此贴转自:http://blog.csdn.net/wzy0623/archive/2007/06/26/1666744.aspx在此先向原文作者致谢了。表的更新操作中,在很多情况下需要在表达式中引用...
  • delphi1234
  • delphi1234
  • 2007年08月23日 11:12
  • 760
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle中的UPDATE FROM 解决方法
举报原因:
原因补充:

(最多只允许输入30个字)