update t1 set t1.b=(select t2.b from t2 where t1.a=t2.a and t1.b<>t2.b) where exists (select 1 from t2 where t1.a=t2.a and t1.b<>t2.b);
update t1 set b=(select b from t2 where T1.b<>T2.b and T1.a=T2.a )
update t1 set t1.b=(select t2.b from t2,t1 where t1.a=t2.a and t1.b<>t2.b);要保证只返回一条记录,如果返回多条记录则无效
bzszp(SongZip) update t1 set t1.b=(select t2.b from t2 where t1.a=t2.a and t1.b<>t2.b) where exists (select 1 from t2 where t1.a=t2.a and t1.b<>t2.b);好像还是不行,更新t1所有 的行数。
初学 ORACLE 有很多地方不明白,请教个问题: TableA 表的字段: Num Number(5),Name VarChar(20)TableB 表的字段: Num Number(5),Name VarChar(20),IsOld Number(1) Default 0用 SQL 2000 的描述方法是: Update B set B.Name = A.Name,B.IsOld = 0 from TableA A,TableB B where A.Num = B.Num and B.IsOld = 1; 在 ORACLE 中怎实现?
where exists (select 1 from t2 where t1.a=t2.a and t1.b<>t2.b);
where exists (select 1 from t2 where t1.a=t2.a and t1.b<>t2.b);好像还是不行,更新t1所有 的行数。
TableA 表的字段: Num Number(5),Name VarChar(20)TableB 表的字段: Num Number(5),Name VarChar(20),IsOld Number(1) Default 0用 SQL 2000 的描述方法是:
Update B
set B.Name = A.Name,B.IsOld = 0
from TableA A,TableB B
where A.Num = B.Num and B.IsOld = 1;
在 ORACLE 中怎实现?