精华内容
下载资源
问答
  • oracleupdate的where条件跟select

    万次阅读 2018-06-01 15:33:51
    update CUST_BASIC_INFO set AgeGroup = 2 where case when length(card_no) = 18 then ---截取身份证年龄 ceil((to_char(sysdate, 'yyyyMMdd') - to_...
    update CUST_BASIC_INFO set AgeGroup = 2 where 
        
      case
         when length(card_no) = 18 then  ---截取身份证年龄
                           ceil((to_char(sysdate, 'yyyyMMdd') -
                                  to_char(to_date(substr(card_no, 7, 8), 'yyyy-MM-dd'),
                                           'yyyyMMdd')) / 10000)
                    when length(card_no) = 15 then
                             ceil((to_char(sysdate, 'yyyyMMdd') -
                                  to_char(to_date('19' || substr(card_no, 7, 6),
                                                   'yyyy-MM-dd'),
                                           'yyyyMMdd')) / 10000)
                      when length(cu.card_no) != 18 and length(cu.card_no) != 15 and BIRTHDAY != null
                         then ceil((to_char(sysdate, 'yyyyMMdd') -
                                  to_char(BIRTHDAY,
                                           'yyyyMMdd')) / 10000)
                           
                         end 
     
     
      in (select cu1.cuage from (select ---截取身份证年龄
      case
         when length(cu.card_no) = 18 then
                           ceil((to_char(sysdate, 'yyyyMMdd') -
                                  to_char(to_date(substr(cu.card_no, 7, 8), 'yyyy-MM-dd'),
                                           'yyyyMMdd')) / 10000)
                    when length(cu.card_no) = 15 then
                             ceil((to_char(sysdate, 'yyyyMMdd') -
                                  to_char(to_date('19' || substr(cu.card_no, 7, 6),
                                                   'yyyy-MM-dd'),
                                           'yyyyMMdd')) / 10000)
                                           
                       when length(cu.card_no) != 18 and length(cu.card_no) != 15 and BIRTHDAY != null
                         then ceil((to_char(sysdate, 'yyyyMMdd') -
                                  to_char(BIRTHDAY,
                                           'yyyyMMdd')) / 10000)
                           
                         end as cuAge
    
     from cust_basic_info cu)cu1 where cu1.cuage>=17 and cu1.cuage<=24) 

    展开全文
  • oracle 更新update语句

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

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

    select语句 for update;

    展开全文
  • 本文概述在Oracle中, UPDATE语句用于更新表中的现有记录。你可以通过两种方式更新表。传统更新表方法句法:UPDATE tableSET column1 = expression1, column2 = expression2, ...column_n = expression_nWHERE ...

    本文概述

    在Oracle中, UPDATE语句用于更新表中的现有记录。你可以通过两种方式更新表。

    传统更新表方法

    句法:

    UPDATE table

    SET column1 = expression1, column2 = expression2, ...

    column_n = expression_n

    WHERE conditions;

    通过从另一个表中选择rocords更新表

    句法:

    UPDATE table1

    SET column1 = (SELECT expression1

    FROM table2

    WHERE conditions)

    WHERE conditions;

    参数

    1)column1, column2, … column_n:

    它指定要更新的列。

    2)expression1, expression2, … expression_n:

    这指定了要分配给column1, column2, ?的值。 column_n。

    3)条件:它指定执行UPDATE状态程序必须满足的条件。

    Oracle更新示例:(更新单列)

    UPDATE suppliers

    SET supplier_name = 'Kingfisher'

    WHERE supplier_id = 2;

    本示例将供应商名称更新为” Kingfisher”, 其中” supplier_id”为2。

    Oracle更新示例:(更新多个列)

    下面的示例指定如何更新表中的多个列。在此示例中, 两列Supplier_name和Supplier_address由单个语句更新。

    UPDATE suppliers

    SET supplier_address = 'Agra', supplier_name = 'Bata shoes'

    WHERE supplier_id = 1;

    输出

    1 row(s) updated.

    0.06 seconds

    Oracle更新示例:(通过从另一个表中选择记录)

    UPDATE customers

    SET name = (SELECT supplier_name

    FROM suppliers

    WHERE suppliers.supplier_name = customers.name)

    WHERE age < 25;

    输出

    2 row(s) updated.

    0.02 seconds

    在此, 通过从”供应商”表中获取数据来更新客户表。

    展开全文
  • Oracle数据库update用法总结

    千次阅读 2019-05-23 10:28:35
    1.用子查询更新关联数据: update 表名 set (字段1,字段2,)=(select 字段1,字段2 from 表名 where 限定条件1) where 限定条件2

    1.用子查询更新关联数据:

    update  表名
    set (字段1,字段2,)=(select 字段1,字段2 from 表名 where 限定条件1)
    where 限定条件2
    
    
    展开全文
  • oracleupdate set case when

    千次阅读 2018-09-19 10:49:09
    问题背景 例如我有一个按钮,负责启用和停用,...这个时候就可以这样了,update中使用case when进行判断,再set对应的值进去 UPDATE CT_BD_CUSTOMERDISCOUNT T SET T.ISSTOP = (CASE WHEN T.ISSTOP = 'N' THEN ...
  • Oracle批量Update记录

    千次阅读 2016-10-27 15:31:55
    工作中经常用到Oracle批量更新记录,做为老手也怕出错,总之要小心再小心,确保数据批量更新正确。 下面举一个例子: 1、创建两张结构类似的表,建表语句如下: create table jayt1( id int, code varchar2(8) ); ...
  • oracle for update和for update nowait的区别

    万次阅读 2015-09-02 11:26:14
    项目中用了oracle for update和for update nowait,特查询了资料研究了一下: 1、for update 和 for update nowait 的区别:  首先一点,如果只是select 的话,Oracle是不会加任何锁的,也就是...
  • Oracleupdate执行效率的优化

    万次阅读 2018-01-24 10:25:09
    工作中经常遇到update大表的时候执行效率很低,那么怎样才能让Oracleupdate数据量比较大的表执行的更快呢?先看个简单的例子吧: 需求是我们要将表INTF_CMS_CALLUSER_TPYE中的LANT_ID更新成CMS.SERV_BASE_MSG表中...
  • oracle批量update

    万次阅读 2012-01-14 10:09:32
    需求: ... update table_name t1 set (a,b,c)=( select a,b,c from table_name_2 t2 where t1.a=t2.a); 这种写法,会更新t1表中的所有行:如果t1.a=t2.a的,就更新t2中查出的记录进t1;如果t1.a 正
  • oracleupdate语句优化

    千次阅读 2014-09-12 12:04:01
    Oracleupdate语句优化研究 一、 update语句的语法与原理 1. 语法 单表:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 如:update t_join_situation set join_state='1'...
  • oracle for update用法

    2015-01-07 17:04:00
    这就需要使用for update, 当oracle发现满足条件的记录正在被更新时,不会立即执行select语句,而是一直等待下去,直到更新结束才会执行select语句。 还有另外两种用法: for update nowait:当orac...
  • oracle for update wait 解析

    千次阅读 2019-12-20 15:51:10
    select for update 可以看成 select for update wait UN-LIMITED ——查询记录如果被锁,则等待释放。执行过程中"自己"也会上行级锁,直到事务提交 select for update wait X—— 对某个记录进行查询,如果有被锁...
  • oracle 批量 update selete

    2016-03-10 09:36:27
    注:oracle中不能使用update table_a from 模式。如果想在oracle中更新表的字段,而这个字段从其他表中获取数据的话,只能用正常的内联,不能用left join 或者inner join。 列子: update test b set b.f_...
  • 数据库oracle for update of和for update区别 对比区别:  select * from TTable1 for update 锁定表的所有行,只能读不能写  2 select * from TTable1 where pkid = 1
  • 1.select * from Table for ...2.select * from Table where pkid = 1 for update –根据where条件,只锁定pkid=1的行 3.select * from Table a join Table b on a.pkid=b.pkid for update – 锁定两个表的所有行 4
  • 这种只有update无法执行其他语句可以执行的其实是因为记录锁导致的,在oracle中,执行了update或者insert语句后,都会要求commit,如果不commit却强制关闭连接,oracle就会将这条提交的记录锁住。由于我的java程序...
  • mybatis oracle条件update

    千次阅读 2018-03-14 11:00:00
    update id="updateVideoBaseStatus"&gt; UPDATE AIMS_VIDEO_BASE SET STATUS = #{status,jdbcType=INTEGER}, &lt;if test="status == 1"&gt; VIDEO_START_DATE = sysdate, &...
  • Oracleupdate更新多列

    千次阅读 2020-12-10 16:18:41
    update 表名 set 列名=1 where 条件; 2、一次更新多列: update student a set (a.id,a.name)= ( select b.id,b.name from boy b where a.id=b.id and a.name!=b.name ) where exists ( select 1 from boy d ...
  • Oracleupdate语句优化研究

    千次阅读 2012-06-20 15:21:13
    Oracleupdate语句优化研究 一、  update语句的语法与原理 1.  语法 单表:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 如:update t_join_situation set join_state='1'whereyear='2011' ...
  • 一、 update语句的语法与原理   1. 语法 单表:UPDATE表名称 SET列名称 =新值 WHERE列名称 =某值 如:update t_join_situationset join_state='1'whereyear='2011' 更新年度为“2011”的数据的join_state...
  • oracleupdate语句更新字段

    千次阅读 2019-09-27 09:02:58
    如需要修改下列数据:...update student set sname = '李四', sage = 20, sbirthday = to_date('2010-01-01', 'yyyy-mm-dd'), saddress = '广州市越秀区' where sid = 1; 如果字段非常多,这样写就稍微麻烦...
  • oracle update from

    2014-12-05 22:34:59
    很多熟悉SQL server的朋友在接触到oracle的时候经常犯的一个错误就是总以为oracle中也会有update from这种结构。请你死了这条心吧,在oracle中的update语句中不存在from语句。 前面我们简单介绍过Oracle的...
  • oracle for update of和for update区别

    万次阅读 2016-08-16 06:25:49
     select * from TTable1 for update 锁定表的所有行,只能读不能写  2 select * from TTable1 where pkid = 1 for update 只锁定pkid=1的行  3 select * from Table1 a join Table2 b on a.pkid=b.pkid for ...
  • ORACLE RAC-19C 1 安装19C GRID软件,选择upgrade模式。 2 执行脚本rootupgrade.sql --crsctl query crs activeversion 3 升级db,安装db软件,前提...Oracle update to 19c using DBUA 升级关键点 1.可以从1...
  • Oracleupdate语句优化研究 批量更新

    万次阅读 2018-12-05 10:55:40
    在实际项目中,往往存在业务逻辑处理时,先更新,然后查询的情况,而更新则是在子查询的基础上执行,如果用传统语法更新,效率特别慢,难以满足用户使用需求。整理本文档的目的就是在提升...单表:UPDATE 表名称 S...
  • 认识oracleupdate更新

    万次阅读 2010-12-09 14:32:00
    就是对于oracle的更新的语法,大部分人尤其是学过SqlServer的人在使用oracle的时候对于oracle的更新会有许多的疑问。就此记下,以便日后查阅  update a set a.col1 = (select b.col1 from b where b.col2 = ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 98,829
精华内容 39,531
关键字:

oracle条件update