Oracle 将另外一张表的列更新到本表的列

Oracle写法:

update temp_agentpay_df q set q.up_batch_bizid=(select c.batch_bizid from temp_df_id c where c.detail_id=q.detail_id) ;

Mysql写法:

update temp_agentpay_df q,temp_df_id c set q.up_batch_bizid=c.batch_bizid where c.detail_id=q.detail_id;

原文地址:https://www.cnblogs.com/xibuhaohao/p/10253819.html

时间: 2024-10-17 22:55:37

Oracle 将另外一张表的列更新到本表的列的相关文章

SQL两表之间:根据一个表的字段更新另一个表的字段

1. 写法轻松,更新效率高: update table1 set field1=table2.field1, field2=table2.field2 from table2 where table1.id=table2.id 2. 常规方式,种写法相当于一个 Left join, 以外面的where为更新条数,如果不加where就是所有记录 update table1 set field1=(select top 1 field1 from table2 where table2.id=tab

在SQLite中如何用一个表的字段更新另一个表

SQL语句: update table_1 set x = (select x from table_2 where table_1.y = table_2.y); 如果括号中临时建立的表中元素的个数小于table_1中元素个数或者只想更新table_1中部分x的值,可以在后面加where子句. Example:更新产品库存: update product set stock=(select stock from left where left.product_id=product.produc

Oracle两张表关联批量更新其中一张表的数据

Oracle两张表关联批量更新其中一张表的数据 方法一(推荐): UPDATE 表2 SET 表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A) WHERE EXISTS (SELECT 1 FROM 表1 WHERE 表1.A = 表2.A); 尤其注意最后的外层where条件尤为重要,是锁定其批量更新数据的范围. 方法二: MERGE INTO 表2 USING 表1 ON (表2.A = 表1.A) -- 条件是 A 相同 WHEN MATCHED TH

Oracle中用一张表的字段更新另一张表的字段

今天在做项目的过程中,发现开发库中某张表的某字段有许多值是空的,而测试库中该字段的值则是有的. 那么,有什么办法能将测试库中该字段的值更新到开发库中呢? SQL Server中这是比较容易解决的,而Oracle中就不知道方法了. SQL Server中类似问题的解决方法 后来只好用最笨的方法: 首先,将数据复制到Excel:(假设称测试库的表为A--含有数据) 然后,在开发库中建立和表A同结构的表B:(这里为了导入数据的简单,我对表B的结构进行了改造,只有两个字段) 图 表B的数据 再利用PL

update忘了加where条件,不小心把oracle数据库里某张表的全表数据都更新了怎么办?

问题描述:数据库突然出问题了,一张物资价格表全部更新成了同一个价格,13万条数据 跟大家分享一下我自己跳的坑,希望对遇到类似问题的小伙伴有一点点帮助.ps:属于技术比较low的,所以自己进的坑比较深,解决方法可以直接看6和8 1.首先客户有数据库备份,每天凌晨都有数据库备份,我们没有dba权限,客户通过数据库监控日志查出18号有一个13万数据的update没有加where条件,给了我备份的数据库文件. 2.创建了新的表空间,表用户,导入18号的数据库(我的电脑上装了oracle服务) eg:创建

Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)

1.Oracle表的管理 表名和列名的命名规则: 必须以字母开头: 长度不能超过30个字符: 不能使用oracle的保留字: 只能使用如下字符:A-Z, a-z, 0-9, $, # 等. Oracle支持的数据类型: 字符型 char 定长 最大2000个字符 char(10)----'小韩' 前四个字符放'小韩',后添加6个空格补全.(查询效率高) varchar2(20) 变长 最大4000个字符 vachar2(10)----'小韩' oracle分配四个字符,这样可以节省空间. clo

oracle(sql)基础篇系列(二)——多表连接查询、子查询、视图

    多表连接查询 内连接(inner join) 目的:将多张表中能通过链接谓词或者链接运算符连接起来的数据查询出来. 等值连接(join...on(...=...)) --选出雇员的名字和雇员所在的部门名字 --(1)必须明确的指出重复字段属于哪个表 select ename,dname dept.deptno from emp,dept where emp.deptno = dept.deptno;   --(2)新语法:join...on(...=...) select ename,

oracle表空间基本命令,修改数据表结构基本命令

表空间基本命令 --创建表空间   初始化大小10M  自动增长5M  最大50M create tablespace duan datafile 'F:\oracle\product\10.2.0\oradata\orcl\duan.dbf' size 10M autoextend on next 5M maxsize 50M; --查询表空间的地址和空间名称 select file_name,tablespace_name from dba_data_files order by file_

Oracle 表锁住,杀掉锁表进程

背景 在操作Oracle时,多人同时操作oracle数据库的同一张表的时候,经常会造成锁表现象,这时需要手动进行解锁. 步骤 以dba身份登录Oracle数据库(否则用户缺少杀掉进程权限,需要给用户分配权限) sqlplus  /  as sysdba,如下图 查看被锁住的表进程 select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_i