oracle 多表关联更新,需要更新的字段在另一个表里(lfn)
update customers a -- 使用别名
set city_name=(select b.city_name from tmp_cust_city b where b.customer_id=a.customer_id)
where exists (select 1 from tmp_cust_city b where b.customer_id=a.customer_id)
-- update 超过2个值
update customers a -- 使用别名
set (city_name,customer_type)=(select b.city_name,b.customer_type from tmp_cust_city b where b.customer_id=a.customer_id)
where exists (select 1from tmp_cust_city b where b.customer_id=a.customer_id)
有一个表名为tb,字段段名为name,数据类型nchar(20)。
1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:
alter table tb modify (name nvarchar2(20));
2、假设字段有数据,则改为nvarchar2(20)可以直接执行:
alter table tb modify (name nvarchar2(20));
3、假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时要用下面方法来解决这个问题:
/*修改原字段名name为name_tmp*/
alter table tb rename column name to name_tmp;
/*增加一个和原字段名同名的字段name*/
alter table tb add name varchar2(40);
/*将原字段name_tmp数据更新到增加的字段name*/
update tb set name=trim(name_tmp);
/*更新完,删除原字段name_tmp*/
alter table tb drop column name_tmp;
总结:
1、当字段没有数据或者要修改的新类型和原类型兼容时,可以直接modify修改。
2、当字段有数据并用要修改的新类型和原类型不兼容时,要间接新建字段来转移。
oracle 多表关联更新,需要更新的字段在另一个表里(lfn)相关推荐
- oracle多表联合查询更新,ORACLE 两表关联更新三种方式
不多说了,我们来做实验吧. 创建如下表数据 select * from t1 ; select * from t2; 现需求:参照T2表,修改T1表,修改条件为两表的fname列内容一致. 方式1,u ...
- Oracle多表关联更新
这里写目录标题 Oracle多表关联更新 一.最简单的形式-单表更新 二.两表(多表)关联update -- set为简单的数据(直接是值),且仅在where字句中的连接 三.两表(多表)关联upda ...
- oracle两条update语句怎么写,Oracle两表关联执行update语句代码
Oracle两表关联执行update时,因为没有像SqlServer的update from,因此要麻烦一些,通常有以下四种方式: 第一种:更新的条件为两个表的查询关联 update customer ...
- oracle多表关联查询报表,oracle多表关联查询和子查询
oracle多表关联查询和子查询 一.多表关联查询 例子: sql> create table student1 ( sid varchar(3), sname varchar(6), sage ...
- oracle左表关联与又表关联,oracle多表关联查询和子查询
oracle多表关联查询和子查询 一.多表关联查询 例子: SQL> create tablestudent1 ( sidvarchar(3), snamevarchar(6), sagenum ...
- oracle主从表分离怎么实时更新数据_高可用数据库主从复制延时的解决方案
MySQL主从复制的延时一直是业界困扰已久的问题.延时的出现会降低主从读写分离的价值,不利于数据实时性较高的业务使用MySQL. UDB是UCloud推出的云数据库服务,上线已达六年,运营了数以万计的 ...
- oracle主从表分离怎么实时更新数据_高可用数据库UDB主从复制延时的解决
MySQL主从复制的延时一直是业界困扰已久的问题.延时的出现会降低主从读写分离的价值,不利于数据实时性较高的业务使用MySQL. UDB是UCloud推出的云数据库服务,上线已达六年,运营了数以万计的 ...
- ORACLE 多表关联 UPDATE 语句
为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在某个业务受理子系统BSS中, SQL 代码 --客户资料表 create table customers ( customer_id num ...
- oracle中笛卡尔积怎么用,ORACLE多表关联中的笛卡尔积
oracle两张表进行关联的时候,只要不是特意去做,很难出现笛卡尔积的情况,但是多张关联的时候可就要小心了.即使你的条件中,表已经两两关联,但有些情况下还是可能会出现笛卡尔积的. 昨天有一个oracl ...
最新文章
- php基础教程 第四步 学习运算符
- 程序运行 栈帧分析 以及 修改栈帧中数据以及函数地址
- Netty工作笔记0003---IO模型-BIO-Java原生IO
- GPIO的翻转操作方法
- 【Python】Python核心编程
- 使用ToStringBuilder.reflectionToString重写toString方法
- 怎么查找键盘注册表键值_C程序查找通过键盘输入的数字列表的平均值
- 栈(Stack)——后进先出(LIFO)的数据结构(Data Structures)
- 百度竞价后台操作技巧
- Road to Coder _Game
- /,./和../的区别
- Java编程序哥德巴赫猜想
- Java day02:eclipse的部分快捷操作;单元测试;条件控制语句;补充的基础语法和代码小技巧
- Java---从键盘输入一位整数,当输入1-7时,输出星期一~星期日
- Python爬虫入门教程 67-100 Python爬虫摆脱控制台,开始走上台面
- Lora和LoraWAN
- vba 邮件body html,如何用VBA将邮件内容HTML化
- peda、Pwngdb、pwndbg的安装及避坑指南
- 【SqlSugar 】SqlSugar 连接操作MySQL数据库+ASP.NET Core Web API 6.0
- multi接口的使用