有两个表table1,table2,都有相同字段 字段ID、字段NAME。
我想update更新table2中字段NAME的数据,使tabke2.NAME = table1.NAME,
只更新tabke2.ID= table1.ID的数据,其他不修改。
oracle的update语句怎么写?table1
字段ID 字段NAME 字段D
2 faf
3 kjk
4 pop
table2
字段ID 字段NAME 字段C
1 jjfh
2 iuauyf
3 ow
4 oer
5 pwrof
6 ofie
我想update更新table2中字段NAME的数据,使tabke2.NAME = table1.NAME,
只更新tabke2.ID= table1.ID的数据,其他不修改。
oracle的update语句怎么写?table1
字段ID 字段NAME 字段D
2 faf
3 kjk
4 pop
table2
字段ID 字段NAME 字段C
1 jjfh
2 iuauyf
3 ow
4 oer
5 pwrof
6 ofie
解决方案 »
- 高手,这个查询结果你可以用一个sql得到吗?
- PL/SQL by example 看完小结下
- Oracle 时间比较
- ORACLE监听器已经启动,却提示没有监听器是怎么回事
- 请教一个SQL语句 该怎么写?
- 简单问题:以system/password as sysdba登录,为什么不能删除sys下的用户表的字段?
- 两个基础问题
- 为什么这个pro*c程序不能预编译成功?
- oracle缺省地用户名字和口令都有什么?
- 请问我想用一条语句实现对一个表的几个字段Insert相同的几条新值(只有其中一个字段有几个不同值),可以做到么?谢谢
- linux安装oracle11g 失败跪求解决方案
- ORACLE表空间的问题急急。。。。。。。。
update table1 t1,table2 t2 set t2.NAME = t1.NAME
where t1.ID=t2.ID
SET t2.NAME=(SELECT t1.NAME FROM table1 t1
WHERE t1.ID=t2.ID)
WHERE EXISTS (SELECT NULL
FROM table1 t3
WHERE t3.ID=t2.ID);
where t1.ID=t2.ID
SET NAME = (SELECT NAME FROM table1 WHERE table2.Id = table1.Id)
WHERE EXISTS (SELECT 1 FROM table1 WHERE table2.Id = table1.Id)
SET NAME = (SELECT NAME FROM table1 WHERE table2.Id = table1.Id)
WHERE EXISTS (SELECT 1 FROM table1 WHERE table2.Id = table1.Id)
SET t2.NAME=(SELECT t1.NAME FROM table1 t1
WHERE t1.ID=t2.ID)
WHERE EXISTS (SELECT NULL
FROM table1 t3
WHERE t3.ID=t2.ID);
UPDATE table2
SET NAME = (SELECT NAME FROM table1 WHERE table2.Id = table1.Id)
WHERE EXISTS (SELECT 1 FROM table1 WHERE table2.Id = table1.Id)
这两种方式都可行么??
为什么一个是t3 一个是t1 呢??
update table2 set name=(select name from table1 t where t.id=table2.id) where exists(select 1 from table1 z where z.id=table2.id);
怎么提示缺少set关键字呢
SET NAME = (SELECT NAME FROM table1 WHERE table2.Id = table1.Id)
WHERE EXISTS (SELECT 1 FROM table1 WHERE table2.Id = table1.Id) ;
merge into table2 using table1 on (table2.id=table1.id)
when matched then update set table2.name=table1.name;
where id in(select id from table2)
USING (SELECT * FROM table2) S
ON(D.ID=S.ID)
WHEN MATCHED THEN
UPDATE
SET D.NAME = S.NAME