见图, T1表和T2表
需求: 修改T2表中的C_date字段的值,等于T1表中的EventTime的值, 对应关系是T1.ID = T2.ID
T1表中的ID是PK
1、创建测试表,
create table test_t1(id varchar(30) , EventTime date);
create table test_t2(id varchar(30) , C_date date);
2、插入测试数据
insert into test_t1 values(1,sysdate-1);
insert into test_t1 values(2,sysdate-2);
insert into test_t1 values(3,sysdate-3);
insert into test_t2 values(1,null);
insert into test_t2 values(1,null);
insert into test_t2 values(1,null);
commit;
3、查询T2表中数据,可以发现c_date字段全部为空,select t.*, rowid from test_t2 t;
4、编写sql,修改T2表中的C_date字段的值,等于T1表中的EventTime的值;update test_t2 t2 set t2.c_date = (select eventtime from test_t1 t1 where t1.id = t2.id)
5、再次查询T2表中数据,可以发现c_date字段全部为T1表中对应的数据;select t.*, rowid from test_t2 t;
直接用
更喜欢您的回答,
抱歉已经给了上面的朋友
oracle数据库中修改表中某字段的值等于另一个表中字段的值
4、编写sql,修改T2表中的C_date字段的值,等于T1表中的EventTime的值;update test_t2 t2 set t2.c_date = (select eventtime from test_t1 t1 where t1.id = t2.id)5、再次查询T2表中数据,可以发现c_date字段全部为T1表中对应的数据;select t.*, rowid from test_t2 t;...
oracle sql更新字段为另一张表的对应字段
如果这样还是慢的话,那就是你的索引项建的有问题了,需要把两个表中的id作为索引,还有就是idcard也可以建索引。这样就好了。
oracle怎么用一个表的多个字段数据更新另一个表相应的字段中
--这里是将表表一的数据和表2做对比,更新条件是两表的id相同,当满足条件时,执行修改语句,将表1的数据字段改写为表2的 where not matched then insert values(表2字段1,表2字段2,等等);--这里是如果不满足条件,执行增加语句,将表2的数据插入到表1中 这里要注意,这两个表中字段名可以不...
oracle 如何根据一个表中记录的变动更新另外一个表中相应的字段
update a set a.name=(select b.name from b where a.id=b.id),a.adress=(select b.address from b where a.id=b.id) where a.name<>b.name or a.address<>b.address
oracle中,如何在一张表插入数据,使得插入数据的某些字段为其他表中的...
where ...;如果是插入一行记录,在values里面使用单行子查询 insert into tableA (col_1,col_2,...)values (v1,(select col1 from tableB where ...),...);如果tableA里面已经有一些数据,希望可以根据tableA中的现有数据从tableB中将相关数据更新进来。可以与tableB进行关联,使用关联子查询...
oracle 中用一个表的字段update另一个表的字段值怎么做
oracle 中用一个表的字段update另一个表的字段值怎么做 举例(一对一,tablea所有关联数据全部修改):update tablea set column_name1=(select name2 from tableb where tableb.name3=tablea.name1)只修改一个 update tablea set column_name1=(select name2 from tableb where tableb.name3='a...
oracle 把一张表的某段时间内的一个字段值update成其他指定值
set进入某个字段值,同时设置更新的where条件。例如这个提问则是:update table set table.a = XXX ---将一个字段值修改为制定的值 where to_char(table.time,'yyyy-mm-dd')>'2015-11-03'and to_char(table.time,'yyyy-mm-dd')<='2015-11-05' ---设置一个时间 ...
用SQL处理表中所有数据,要使其中一列的数据等于别一列的数据。
假设表名为TAB,需要使TAB表中的C2等于C1 SQL如下:UPDATE TAB T1 SET T1.C1 = (SELECT T2.C2 FROM TAB T2 WHERE T1.ROWID = T2.ROWID)\/*ROWID是oracle对表中每条记录做的唯一标示*\/ 如果数据量达到千万级,使用update就要注意了。补充 UPDATE TAB T1 SET (CASE WHEN T1.B='111' THEN ...
oracle 如何对比一个表的字段值与另一个表的字段值
用 case when 语句。select (case when a.dsc is not null then a.dsc esle b.dsc end ) dsc from 表a a, 表b b where a.id=b.id 。
oracle数据库要updateA表的数据,条件是A表的a字段等于B表的a字段...
您好,以下为思路与语法:1 > update A a set a.column = 更新值 where a.a in (select a from b);2> update A a set a.column = 更新值 where exists (SELECT 1 FROM B b WHERE 1=1 a.id = b.id) <推荐。性能高于思路①> ...