oracle update 几种方法容易理解和使用的更新命令
来源:互联网 发布:上古世纪saber捏脸数据 编辑:程序博客网 时间:2024/05/02 15:32
习惯了SQL server的update写法,感觉如此优雅和简便,近期要用oracle,是如此的不方便。经过努力发现三种写法还是很不错的,真不愧是大佬。
例子:两个表,结构相同,都有编号和名称。
create table tb1(
id int not null primary key,
name varchar(100)
);
create table tb2(
id int not null primary key,
name varchar(100)
);
插入测试数据:
insert into tb1
select 1,'武汉' from dual union all select 2, '郑州' from dual
union all select 3, '上海' from dual union all select 4, '广州' from dual
insert into tb2
select 1,'' from dual union all select 2, '' from dual
union all select 3, '' from dual union all select 4, '' from dual union all select 5, '' from dual
第一个表数据 select * from tb1
编号 名称
1 武汉
2 郑州
3 上海
4 广州
第二个表数据 select * from tb2
编号 名称
1
2
3
4
5
现在开始更新tb2中的name字段。
SQLserver的写法 update a set a.name = b.name from tb2 a, tb1 b where a.id = b.id
oracle的写法:
写法一:update (select a.id, a.name namea, b.name nameb from tb1 a, tb2 b where a.id = b.id) t
set t.nameb = t.namea
写法二:update tb2 b set name = (select a.name from tb1 a where a.id = b.id)
写法三:merge into tb2 b
using(select a.id, a.name namea from tb1 a )t
on (b.id = t.id)
when matched then update set b.name = t.namea
二和三在更新时都没问题,能成功。但是写法一经常会报错误“无法修改与非键值保存表对应的列”。
正在分析产生的原因及正确的写法。
- oracle update 几种方法容易理解和使用的更新命令
- 几种更新(Update语句)查询的方法
- Hibernate更新某些字段的几种update方法
- hibernate 中更新某些字段的几种update方法
- Hibernate更新某些字段的几种update方法
- 几种更新(Update语句)查询的方法
- Hibernate更新某些字段的几种update方法
- Hibernate更新某些字段的几种update方法
- Oracle多表关联update的几种方法
- 关于更新部分属性,Hibernate更新某些字段的几种update方法
- oracle的update更新
- update几种方法
- mybatis执行批量更新update 的方法oracle小记
- mybatis执行批量更新update 的方法oracle
- 认识oracle的update更新
- 认识oracle的update更新
- mybatis执行批量更新batch update 的方法(提供oracle,mysql两种写法)
- Android更新UI界面的几种方法的使用
- YTU 2795: 编程题AB-侦察员的密码
- 源码分享-Qt利用动画类实现酷酷的图片展示
- postgresql相关开源软件及架构简介
- yuv 与 rgb 互相转化的色差问题
- YTU 2797: 复仇者联盟之关灯
- oracle update 几种方法容易理解和使用的更新命令
- Java 局部内部类访问局部变量必须加final关键字
- [python] python抓取有道词典并格式化输出的程序
- JAVA-事件处理
- 哈夫曼树 2
- 学习笔记1 Supervised Learning and Optimization 之 Linear and Logistic Regression
- 合并果子
- YTU 2798: 复仇者联盟之数组成绩统计
- 算法_1: 数论_续