ITPub博客

首页 > 数据库 > Oracle > Oracle Update 单表和多表更新

Oracle Update 单表和多表更新

原创 Oracle 作者:tangxiaodong 时间:2015-04-22 16:06:52 0 删除 编辑

一、环境说明
  oracle环境中,想对A表进行更新,对A表更新的字段来源于B表,涉及到多表更新,更新时提示“ora-01407:cannot update(XX.item_class) to NULL”,发现语句写得有问题,就整理一下单表与多表的更新。

二、单表更新

    单表列新的SQL比较简单,刚开始学及工作中经常用到。

   1.1 更新单表、单字段

         基本格式:
update TableName set column1=value1 where condition=value1;

   1.2 更新单表、多字段

基本格式:

update TableName set column1=value1,column2=value2,column3=value3 where condition=value1;

三、多表更新

    常用的oracle格式如下:
         
update table1 a set (a.字段1,....,a.字段N) =(select b.字段1,...,b.字段N from table2 b where 两个表的关联字段)
         where exists (select 1 from table2 b where 两个表的关联字段)。

   注意:oracle语句里的exists不能省略,否则会导致没有对应关系的数据修改错误,甚至会报错。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8043290/viewspace-1591426/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-07-18

  • 博文量
    11
  • 访问量
    98996