--update 这个字段的所值为2
update tab a set a.字段1=2;

--带条件的update
update tab a set a.字段1=2 where id=10000;

--根据一个表update 另外一个表
update tab a set a.字段=(select b.字段 from tab1 b where a.id=b.fid)
where exists (select 1 from tab1 b where a.id=b.fid)

--update 多个字段
update tab a set (a.字段,a.字段1)=(select b.字段,b.字段1 from tab1 b where a.id=b.fid)
where exists (select 1 from tab1 b where a.id=b.fid)

update tab a set a.字段=(select b.字段 from tab1 b where a.id=b.fid) where a.字段1='地名'

在oracle的update语句语法中,除了可以update表之外,也可以是视图,所以有以下1个特例:

update (select a.city_name,b.city_name as new_name
from customers a,
tmp_cust_city b
where b.customer_id=a.customer_id
)
set city_name=new_name

这样能避免对B表或其索引的2次扫描,但前提是 A(customer_id) b(customer_id)必需是unique index或primary key。否则报错:

update 和 decode 结合使用
update tpr_fwzh set jjbz=decode(jjbz,1,2,2,4,3,1,4,6,5,3,6,10,7,7,8,8,10,9,jjbz)

update 与case when 结合使用

--修改对应关系
UPDATE TEMP_ZS_PXJH_MXFW SET XZQ= --行政区
CASE XZQ
WHEN '0,27,28,29,30,31,32,33,34,35,59' THEN

'320202,320203,320204,320205,320206,320211,320291,320281,320282,320215'
WHEN '0,27,28,29,30,31,32,33,34,59' THEN

'320202,320203,320204,320205,320206,320211,320291,320281,320215'
WHEN '0,27,28,29,30,31,32,33,34,59,35' THEN

'320202,320203,320204,320205,320206,320211,320291,320281,320282,320215'
WHEN '0,27,28,29,30,31,32,33,59' THEN '320202,320203,320204,320205,320206,320211,320291,320215'

WHEN '34' THEN '320281'
WHEN '0,35' THEN '320282'
WHEN '0,34' THEN '320281'
WHEN '0' THEN NULL
ELSE XZQ END,
ZZDJ= --资质等级
CASE ZZDJ
WHEN '0,2,3,46,47,70' THEN '2,3,1,4,5'
WHEN '0,2,3,46,47' THEN '2,3,1,4'
WHEN '0' THEN NULL
ELSE ZZDJ END,
HYLX= --会员类型
CASE HYLX
WHEN '0,4,5,48,64,71' THEN '1,2,3,4,5'
WHEN '0,4,5,48' THEN '1,2,3'
WHEN '0,4,5,48,64' THEN '1,2,3,4'
WHEN '0' THEN NULL
ELSE HYLX END

update 操作用法的更多相关文章

  1. 使用merge同时执行insert和update操作

    SQL点滴18—SqlServer中的merge操作,相当地风骚   今天在一个存储过程中看见了merge这个关键字,第一个想法是,这个是配置管理中的概念吗,把相邻两次的更改合并到一起.后来在tech ...

  2. MyBatis魔法堂:各数据库的批量Update操作

    一.前言   MyBatis的update元素的用法与insert元素基本相同,因此本篇不打算重复了.本篇仅记录批量update操作的sql语句,懂得SQL语句,那么MyBatis部分的操作就简单了. ...

  3. ORACLE MERGE INTO UPDATE DELETE 用法

    ORACLE MERGE INTO UPDATE DELETE 用法 使用该MERGE语句从一个或多个源中选择行以进行更新或插入表或视图.您可以指定条件以确定是更新还是插入目标表或视图. 此语句是组合 ...

  4. Oracle中如何实现Mysql的两表关联update操作

    在看<MySQL 5.1参考手册>的时候,发现MySQL提供了一种两表关联update操作.原文如下: UPDATE items,month SET items.price=month.p ...

  5. mysql update操作

    update语法 Single-table语法: UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=ex ...

  6. Mysql执行Update操作时会锁住表

    update tableA a,(select a.netbar_id,sum(a.reward_amt) reward_amt from tableB a group by a.netbar_id) ...

  7. Update操作浅析,一定是先Delete再Insert吗?

    Update操作一定是先Delete再Insert吗? Update在数据库中的执行是怎么样的?“Update操作是先把数据删除,然后再插入数据”.在网上看了很多也都是这么认为的.但在查阅到一些不同看 ...

  8. veridata实验例(5)在更改主键列值,update操作将被分成两个语句

    veridata实验例(5)更改主键列值,update操作将被分成两个语句 续接"veridata实验举例(4)验证veridata查找出updata.delete操作导致的不同步现象&qu ...

  9. veridata实验举例(6)验证agent启动先后顺序是否对捕获update操作有影响

    veridata实验举例(6)验证agent启动先后顺序是否对捕获update操作有影响 续接veridata实验系列  上篇:"veridata实验举例(5)改动主键上的列值.update ...

随机推荐

  1. Qt 的事件

    一个事件由一个特定的QEvent子类来表示,如QMouseEvent.QKeyEvent 处理一个事件的方法: 方法一:重新实现部件的paintEvent.mousePressEvent等事件处理函数 ...

  2. autolayout UILabel 设置最大宽度

    label1.preferredMaxLayoutWidth = 100: label1.numberOfLines = 0; //自适应行数

  3. requireJS-初识

    浅谈requireJS 2016-04-26 21:44 by 猴子猿, 726 阅读, 0 评论, 收藏, 编辑 项目中大都使用模块化开发,requireJS作为AMD模块开发的典范,所以有必要学习 ...

  4. GitLab CI 之 Java HelloWrold

    问题描述 测试人员想在gitalb上跑 JUnit项目,也就是java代码. 听到这个之后,我当时都懵了,我他妈gitlab的runner是为运行.net core 安装的呀.后来一想,是我错了,我用 ...

  5. 进化的Spark, 从DataFrame说起

    进化的Spark, 从DataFrame说起:http://www.tuicool.com/articles/IzeY7zM

  6. k-means处理图片

    问题描述:把给定图片,用图片中最主要的三种颜色来表示该图片 k-means思想: 1.选择k个点作为初始中心 2.将每个点指派到最近的中心,形成k个簇cluster 3.重新计算每个簇的中心 4.如果 ...

  7. Linux就业技术指导(一):简历撰写及面试筹备要领

    一,开场 二,模型 三,目标选材 3.1 什么是目标选材 简单说就是确定一个候选人是否符合某一个工作岗位要求的整个流程.这是对招聘方的一个培训,应聘方如果掌握了,就知道应该怎样正确的去应聘工作. 3. ...

  8. SpringCloud组件和概念介绍1

    一:什么是微服务(Microservice) 微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务.这些小的Web服务可以独立地编译及 ...

  9. mydqldump

    [mydqldump] One way to create a snapshot of the data in an existing master database is to use the my ...

  10. Robotium原理初步--Android自动化测试学习历程

    章节:自动化基础篇——Robotium原理初步(第四讲) 主要讲解内容与笔记: 一.基于控件 1.spinner——下拉菜单 2.TabHost——左右滑动选择菜单,类似电话本 3.Gallery—— ...