update语句oracle_oracle update语句 - CSDN
精华内容
参与话题
  • oracle update更新语句

    万次阅读 2018-07-25 19:11:24
    注意:oracleupdate多列用逗号分隔。   1.update IOP_T_USERINFO t set (t.birthday, t.department)=(select '5202','南京' from dual ) where t.userid='321'; 2.update IOP_T_USERINFO t set t.birthday='...

    注意:oracle中update多列用逗号分隔。

     

    1.update IOP_T_USERINFO t set (t.birthday, t.department)=(select '5202','南京' from dual ) where t.userid='321';

    2.update IOP_T_USERINFO t set t.birthday='5202', t.department='南京' where t.userid='321';

    3.insert into IOP_T_USERINFO t(t.userAccount,t.username) values('zhai','zhaiqinghong');

     

    insert 插入的是一条或多条记录,不能用where ,但where 可以使用在update中,因为update 是对记录的修改。

     

    展开全文
  • oracleupdate语句修改多个字段

    万次阅读 多人点赞 2018-07-04 21:31:58
    如需要修改下列数据:表名为student一般会这样写:update student set sname = '李四', sage = 20, sbirthday = to_date('2010-01-01', 'yyyy-mm-dd'), saddress = '广州市越秀区' where sid = 1;如果字段非常多...

    如需要修改下列数据:表名为student


    一般会这样写:

    update student
      set sname = '李四',
          sage = 20,
          sbirthday = to_date('2010-01-01', 'yyyy-mm-dd'),
          saddress = '广州市越秀区'
    where sid = 1;

    如果字段非常多,这样写就稍微麻烦点,因为待修改字段和待修改的数据没有分离。

    还有另外一种写法(字段多的时候写的时候方便,书写效率高些;字段少的时候感觉不出来):

    update student
      set (sname, sage, sbirthday, saddress) =
      (select '李四', 20, to_date('2010-01-01', 'yyyy-mm-dd'), '广州市越秀区' from dual)
    where sid = 1;

    附注:

    student表

    create table STUDENT
    (
      sid       NUMBER,
      sname     VARCHAR2(40),
      sage      NUMBER,
      sbirthday DATE,
      saddress  VARCHAR2(200)
    );

    数据

    insert into student (sid, sname, sage, sbirthday, saddress)
    values (1, '张三', 10, to_date('1994-01-01', 'yyyy-mm-dd'), '上海市浦东新区');

    展开全文
  • oracle 更新update语句

    万次阅读 2017-10-10 10:21:36
    update 表名 set 列名=新值 where条件; select语句 for update;

    update 表名 set 列名=新值 where条件;

    select语句 for update;

    展开全文
  • 数据库更新就一种方法Update,其标准格式:Update 表名 set 字段=值 where 条件不过根据数据的来源不同,还是有所区别的:  1.从外部输入这种比较简单例:update tb set UserName="XXXXX" where UserID=...

    数据库更新就一种方法Update,
    其标准格式:Update 表名 set 字段=值 where 条件
    不过根据数据的来源不同,还是有所区别的:

     
    1.从外部输入
    这种比较简单
    例:update tb set UserName="XXXXX" where UserID="aasdd"

    2.一些内部变量,函数等,比如时间等
    直接将函数赋值给字段
    update tb set LastDate=date() where UserID="aasdd"

    3.对某些字段变量+1,常见的如:点击率、下载次数等
    这种直接将字段+1然后赋值给自身
    update tb set clickcount=clickcount+1 where ID=xxx

    4.将同一记录的一个字段赋值给另一个字段
    update tb set Lastdate= regdate where XXX

    5.将一个表中的一批记录更新到另外一个表中
    table1 
    ID f1 f2
    table2 
    ID f1 f2
    先要将table2中的f1 f2 更新到table1(相同的ID)

    update table1,table2 set table1.f1=table2.f1,table1.f2=table2.f2 where table1.ID=table2.ID

    6.将同一个表中的一些记录更新到另外一些记录中
    表:a
    ID   month   E_ID     Price
    1       1           1        2
    2       1           2        4
    3       2           1         5
    4       2           2        5
    先要将表中2月份的产品price更新到1月份中
    显然,要找到2月份中和1月份中ID相同的E_ID并更新price到1月份中
    这个完全可以和上面的方法来处理,不过由于同一表,为了区分两个月份的,应该将表重命名一下
    update a,a as b set a.price=b.price where a.E_ID=b.E_ID and a.month=1 and b.month=2 

    当然,这里也可以先将2月份的查询出来,在用5.的方法去更新 

    update a,(select * from a where month=2)as b set a.price=b.price where a.E_ID=b.E_ID and a.month=1

     

     

     

     

     

     

    多表关联UPDATE

    假设有两个表A和B,A表字段a,b,c,d,B表字段b,e,f,两表的关联条件是字段b,现在想做个data patch,欲将B表中的字段e的值patch给A表的字段c.

    有如下两种方法:

    update A set A.c=(select e from B where B.b=A.b)
    where exists(select 1 from B where B.b=A.b);

     

    merge into A
    using B
    on (A.b=B.b)
    when matched then update set A.c=B.e;

     上面两种方法都可以实现多表联结的更新,其中的B表也可以是子查询,视图。

    merge into是oracle 9i之后添加的语法,可以实现update/insert的功能(满足条件更新,不满足条件插入),而且效率要高,因为用merge只需要一次全表扫描,但merge into的使用需要小心,必须理解它的用法才能放心使用,否则有可能出现问题。

     

    上面的例子不仅仅可以更新单个字段,也可以更新多个字段,如下:

    update A set A.c=(select e from B where B.b=A.b),
                 A.d=(select f from B where B.b=A.b)
    where exists(select 1 from B where B.b=A.b);
    
    
    
    merge into A
    using B
    on (A.b=B.b)
    when matched then update set A.c=B.e,
                                 A.d=B.f;

     

     

     

     

    展开全文
  • oracle数据库中的update语句的用法

    千次阅读 2017-06-27 18:41:36
    测试   1、set一个字段 在表t_test中设置第二条记录(bs为2)的password为'***'。 update t_test t  ... set t.password = '***'  ...在表t_test中设置第一条记录(bs为1)的password为'*'、remark...update t_test t
  • oracle执行update语句卡住不动

    万次阅读 多人点赞 2016-02-23 19:52:09
    问题开发的时候debug到一条update的sql语句时...原因和解决方法这种只有update无法执行其他语句可以执行的其实是因为记录锁导致的,在oracle中,执行了update或者insert语句后,都会要求commit,如果不commit却强制关
  • Oracle update语句

    万次阅读 2017-11-10 16:48:52
    update es_gc_prod_attr set ipt_id = 'attachEndDate' where product_attr_id = '2017101112121018113';
  • Oracle update 更新数据语法和写法

    万次阅读 2019-03-17 16:31:17
    使用update语句更新数据 ② 使用where子句指定需要更新的数据 ③ 在update语句中使用子查询 在update中使用子查询,使更新基于另一个表中的数据 更新中的数据完整性错误 ...
  • oracle update set 使用case when语句

    千次阅读 2015-07-13 18:23:33
    update db_XXX set aaa = case when aaa is null then null else aaa|| ',0' end, aaa2 = case when aaa2 is null then null else aaa2|| ',0' end 记得end 结束、
  • Oracle中使用pl/sql,查询结果可以直接修改sql语句-for update 有时需要使用pl/sql查询语句,并直接就该条语句进行修改,只要在搜索语句末尾加一个 for update 语句即可。 select * from 表名 where 条件 for ...
  • oracle update语句commit

    千次阅读 2018-09-26 17:02:35
    今天在操作oracle时,做了如下操作; 1.在SQL Window中执行语句update emp set sal='10000' where ename='SMITH',更新成功后,执行查询emp表语句,发现更新成功 2.在Command window中再次执行查询emp表语句,发现...
  • 今天去帮人优化存储过程,其中有个过程里面有个update语句执行要很久很久。其中加粗where条件没看明白(开发的人也不在了),这个条件去查询半天出不来结果。将in改成exists后也没效果。 其中:BPTTMBA 一百多万...
  • update join 连接语句批量更新

    万次阅读 2017-01-04 15:55:04
    update a join b on a.id=b.id set a.name=b.name where a.year=2016;
  • oracle语句update使用case when连续更新

    千次阅读 2018-04-03 09:22:42
    我们有时候想要使用条件语句进行同一字段不同情况下的值修改为目标值,因此小编此处总结了该语句与君共享。 update jcy_jwfu_appeal_base_info t set t.appeal_type = case when t.appeal_type='网络' then '01' ...
  • 在执行delete或for update语句时,PLSQL一直执行,不出结果。 原因: 执行update或者insert语句后需要commit,如果因网络或其他原因没有commit而强制关闭连接,Oracle就会将该条提交的记录锁住。 解决方法: ...
  • 通过Update语句将A表的某列值修改为B表中的指定列的值时,所用的sql语句在Oracle和SQL Server中是不一样的, 代码如下: Oracle中的语句: UPDATE A SET A.COL1=(SELECT B.COL1 from B where A.KEY=B.KEY [and ...
  • oracle中使用sql语句执行了delete和update和insert命令,在本地数据库中已执行成功查看并没有删除成功或更新数据库,很是尴尬,为什么会出现这种不一致的情况呢? 原来是因为我执行命令后没有commit提交,那么...
  • Oracleupdate的用法

    千次阅读 2007-12-09 11:01:00
    Oracle中,在一张表中修改某一项时,用以下语句update Module set ModuleName=add Module where Moduleid=5 Module是表名而不是数据库名
  • 执行update语句后要commit才能生效

    万次阅读 2014-01-05 14:17:58
    今天在学习oracle视频时,自己动手做了如下操作; 1.在SQL Window中执行语句update emp set sal='10000' where ename='SMITH',更新成功后,执行查询emp表语句,发现更新成功 2.在Command window中再次执行查询emp...
  • ORACLE多表关联UPDATE 语句

    千次阅读 2018-06-27 13:22:53
    转载:https://www.cnblogs.com/franson-2016/p/5988303.html1) 最简单的形式SQL 代码 --经确认customers表中所有customer_id小于1000均为'...update customers set city_name='北京' where customer_id<10...
1 2 3 4 5 ... 20
收藏数 143,442
精华内容 57,376
关键字:

update语句oracle