精华内容
下载资源
问答
  • oracleupdate语句
    万次阅读
    2017-11-10 15:33:41


    UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值


    update es_gc_prod set prod_open_type='1' where prod_code='1012';



    update es_gc_prod_attr set ipt_id = 'attachEndDate' where product_attr_id = '2017101112121018113'; 



    更新多个字段:


    UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'
    WHERE LastName = 'Wilson'




    更多相关内容
  • Oracle Update语句的几种方式

    万次阅读 2021-09-02 19:22:36
    一、标准update语法(常用、速度可能最慢) 当更新的表示单个或者被更新的字段不需要关联表带过来,此法是最好的选择。 update a set a.c2= (select b.c2from b where a.c1=b.c1) where exists (select 1 from...

    一、标准update语法(常用、速度可能最慢)

    当更新的表示单个或者被更新的字段不需要关联表带过来,此法是最好的选择。

    update  a 
    set a.c2= (select b.c2from  b where a.c1=b.c1)
    where exists   (select 1 from   b where a.c1=b.c1)

    二、内联视图更新(关联主键字段,速度较快)

    inline view更新法就是更新一个临时建立的视图。

    方案:更新一个临时建立的视图。要求B表的主键字段必须在where条件中,并且是以=号来关联被更新表。

    update (select a.c2 as ac2,b.c2 as bc2 from a, b where a.c1=b.c1 and a.c3=’2011’) as M 
    set ac2=bc2

    三、merge更新法 (关联字段非主键时,速度较快)

    merge是oracle特有的语句,语法如下:

    MERGE INTO table_name alias1 --主表,即需要被修改的表
    USING (table | view | sub_query) alias2 --从表,即来源表
    ON (join condition) --连接条件
    WHEN MATCHED THEN --在匹配的记录中进行
      UPDATE table_name SET col1 = col_val1, col2 = col2_val --更改主表信息
    WHEN NOT MATCHED THEN --在不匹配的情况下,筛选从表记录插入到主表【可选】
      INSERT (column_list) VALUES (column_values);

    原理分析:在alias2中Select出来的数据,每一条都跟alias1进行 ON (join condition)的比较,如果匹配,就对alias1表进行更新的操作(Update),如果不匹配,就对alias1表进行插入操作(Insert)。

    执行merge不会返回影响的行数,最多只能两个表关联。

    merge into a
    using b 
     on (a.c1=b.c1 and a.c3=’2011’)
       when matched then
    update a.c2=b.c2

    四、快速游标更新法(复杂逻辑时,效率很高)

    语法:

    begin
    for cr in (查询语句) loop  --循环
    update table_name set ...   --更新语句(根据查询出来的结果集合)
    end loop;  --结束循环
    end;
    begin
        for cur in (select a.rowid  ,b.c2 from  a, b where a.c1=b.c1 and a.c3=’2011’ )  loop
            UPDATE a  set c2=cur.c2  where rowid=cur.rowid;
        end loop;
    end;

    转载 :https://www.cnblogs.com/springsnow/p/9399281.html

    展开全文
  • 本文概述在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

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

    展开全文
  • 这种只有update无法执行其他语句可以执行的其实是因为记录锁导致的,在oracle中,执行了update或者insert语句后,都会要求commit,如果不commit却强制关闭连接,oracle就会将这条提交的记录锁住。由于我的java程序...
  • oracle update语句commit

    千次阅读 2018-09-26 17:02:35
    今天在操作oracle时,做了如下操作; 1.在SQL Window中执行语句update emp set sal='10000' where ename='SMITH',更新成功后,执行查询emp表语句...步骤1中执行完update语句,没有点击commit图标进行提交。 其实这...

    今天在操作oracle时,做了如下操作;

    1.在SQL Window中执行语句update emp set sal='10000' where ename='SMITH',更新成功后,执行查询emp表语句,发现更新成功

    2.在Command window中再次执行查询emp表语句,发现结果与步骤1中不一致

    问题在于;步骤1中执行完update语句,没有点击commit图标进行提交。

    其实这是已经知道的知识点,但是会常常忽视掉哭,所以今天写下来加深印象大笑

    当然,insert、delete也是同update一样,需要commit才能提交,在提交前可以rollback进行回滚

     

    展开全文
  • Oracle UPDATE 语句

    万次阅读 2015-06-18 17:10:31
    我估计,只要是知道SQL 语句的人都会用UPDATE 语句,可是大部分人不知道UPDATE 语句有两种写法,首先,考虑下面的情况: CREATE TABLE STUDENT ( ID INT,---学号 NAME VARCHAR(20) NOT NULL,---姓名 BIRTHDAY DATE--...
  • task 任务表 role 角色表 两表之间必须有关联的字段 ...update task t set t.roleName = ( select r.name from role r where r.id=t.roleid ) 转载于:https://www.cnblogs.com/javaLin/p/9492333.html...
  • oracle update语句

    千次阅读 多人点赞 2015-01-04 09:37:06
    Oracle在表中更新数据的语法是: 语法结构:UPDATE操作 UPDATE 表名 SET 列名1=值,列名2=值…… WHERE 条件 代码演示:UPDATE操作 SQL> UPDATE INFOS SET CLASSNO='1002',STUADDRESS='山东莱芜' WHERE ...
  • oracleupdate语句的性能优化

    千次阅读 2020-12-23 14:59:06
    Oracleupdate语句的性能优化一、update语句的语法与原理1,语法单表:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值如:复制代码代码示例:update t_join_situation set join_state='1'whereyear='2011'更新...
  • 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='...
  • 今天去帮人优化存储过程,其中有个过程里面有个update语句执行要很久很久。其中加粗where条件没看明白(开发的人也不在了),这个条件去查询半天出不来结果。将in改成exists后也没效果。 其中:BPTTMBA 一百多万...
  • Oracle执行UPDATE语句的步骤

    千次阅读 2020-07-14 01:17:33
    执行UPDATE语句的步骤: 如果数据和回滚数据不在数据库高速缓冲区中,则Oracle服务器进程将把它们从数据文件中读到数据库高速缓冲区中。 Oracle服务器进程在要修改的数据行上加锁(行一级的锁,而且是在内存的数据...
  • oracle update数据更新的实现语句

    千次阅读 2021-04-30 07:41:26
    oracle update数据更新的实现语句SQL> -- create demo tableSQL> create table Employee(2 ID VARCHAR2(4 BYTE) NOT NULL,3 First_Name VARCHAR2(10 BYTE),4 Last_Name VARCHAR2(10 BYTE),5 Start_Date DATE,6...
  • Oracle几种update语句分析

    千次阅读 2020-06-30 09:29:27
    1.单条语句更新 语法:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 说明:如果更新的字段加了索引,更新时会重建索引,更新效率会慢。单表更新或较简单的语句采用使用此方案更优。 2.批量数据更新 语法:...
  • oracle 更新update语句

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

    千次阅读 2020-08-14 21:56:35
    关联update的一个特例以及性能再探讨 在oracleupdate语句语法中,除了可以update表之外,也可以是视图,所以有以下1个特例: 1.update (select a.city_name,b.city_name as new_name 2.from customers a, 3. tmp_...
  • 数据更新语句update

    万次阅读 2021-05-04 01:37:33
    SQL的update语句怎么写UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值,update语句的写法:1、UPDATE table_name2、SET column1=value1,column2=value2,。3、WHERE column(1)=value(1),column(2)=value(2)。...
  • 转载链接:http://lin49940.iteye.com/blog/466626今天一个同事写oracle 的...如一个表 A(id,code, name, type)在存储过程中的更新操作的语句: update A x set x.type = 变量A where x.code = 变量B;变量A 和 变量...
  • 1)最简单的形式update customers a//使用别名set customer_type='01'//01 为vip,00为普通where exists (select 1 from tmp_cust_city b where b.customer_id=a.customer_id)2)两表(多表)关联update,被修改值由另一...
  • oracle的updateoracoracle的update的五种方式le的update的五种方式的五种方式oracleupdate的五种方式
  • Oracle无法执行update语句

    千次阅读 2019-09-02 15:24:33
    这种只有update无法执行其他语句可以执行的其实是因为记录锁导致的,在oracle中,执行了update或者insert语句后,都会要求commit,如果不commit却强制关闭连接,oracle就会将这条提交的记录锁住。由于我的java程序...
  • oracle动态update语句

    千次阅读 2018-05-23 19:33:57
    2、OK,debugger一下,发现提交的时候后台打印出错,提示大概就是这样 SQLException '17004' 其实很简单,这种错误一般都是说某一列传进来的值为null,因此报错,所以追踪下去,发现是update语句没有做动态传值处理...
  • 实际项目中遇到的问题总结:数据量百万级,千万级。Oracleupdate语句的优化,一共四种方案,工作中遇到该类问题可以参考。
  • UPDATE语句-简单形式-子查询形式

    千次阅读 2021-05-05 06:10:51
    关于UPDATE语句一般的update语句格式比较简单,由where过滤子句和set子句组成。当where和set都需要关联一个表进行查询时,整个update执行时,就需要对被关联的表进行两次扫描,显然效率比较低。一般的update语句格式...
  • OracleUPDATE语句导致ORA-00933错误(Oracle: UPDATE statement causes ORA-00933 error)任何人都可以看到这个陈述有什么问题吗? 我尝试了一段时间来修复它,但无济于事,我在网上发现的答案坚持我需要删除ORDERBY...
  • update (select YP.DEALLOCATE_BUDGET_, YP.REMAIN_BUDGET_ from MP_YEAR_PLAN YP where YP.YEAR_PLAN_ID_ in ('3a9fdccff48c49ddb42563dbac6f3fdd', '45f05792c15d483fa9dd2d9c64c7a784')) set DEALLOCATE_BUDGET_ ...
  • 这种只有update无法执行其他语句可以执行的其实是因为记录锁导致的,在oracle中,执行了update或者insert语句后,都会要求commit,如果不commit却强制关闭连接,oracle就会将这条提交的记录锁住。由于我的java程序...
  • ORACLE UPDATE 语句语法

    千次阅读 2008-03-06 16:49:00
    ORACLE UPDATE 语句语法 为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在某个业务受理子系统BSS中, --客户资料表 create table customers ( customer_id number(8) not null, -- 客户标示 city...
  • 其实二楼写的最简单,但对于新手,...你也可以看看我写的create or replace procedure P_Update(o_vc_message out varchar2)istype column1 is table of table1.column1%type index by binary_integer;col1s colum...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 178,473
精华内容 71,389
关键字:

oracleupdate语句