由于一批错误数据导致数据混乱。现在要写一个脚本执行更改错误数据,大致描述如下:表名暂定为tableA,字段有T,A,b,c,d,现在要把A+B+C+D的累加赋值给T字段。求一段SQL语句一次性更改所有错误数据。
错误数据如下:
T A B C D
5 1 2 3 4
4 2 3 4 5
6 3 4 5 6
要求解出正确数据如下:
T A B C D
10 1 2 3 4
14 2 3 4 5
18 3 4 5 6
错误数据如下:
T A B C D
5 1 2 3 4
4 2 3 4 5
6 3 4 5 6
要求解出正确数据如下:
T A B C D
10 1 2 3 4
14 2 3 4 5
18 3 4 5 6
解决方案 »
- wm_concat 操作数值超出系统的限制
- 求一个sql语句的些法
- oracle中用shutdown immediate命令,无论在SQLPLUS还是在OEM中,关闭数据库没有反应
- 数据库中的同步问题
- emagent.exe进程句柄资源占用过高
- oracle有没有boolean类型的字段
- 大家帮忙,碰到ora12500错误,怎么解决?
- 对于建表,创建函数,过程等,如何取消自动commit?希望支持回滚功能
- 困扰我一周多的难题终于得到了解决,心情愉快,散分!!!
- 安装oracle12c,无法登陆,报:ora-12560 tns 协议适配器错误,求。。。
- 这个sql怎么写?
- 文本文件导入oracle数据库
数据量大吗?
v_t c_t%rowtype;
i number;
begin
open cursor c_t ;
loop
fetch c_t into v_t ;
exit when c_t%notfound;
i:i+1;
update set T=A+B+C+D;
if i = 10000 then
commit;
i := 0;
end if;
end loop;
end;
rown int;
j int := 0;
begin
select count(1) into rown from tableA;
for i in 1 .. rown loop
update tableA set T=A+B+C+D;
j := j + 1;
if j=50 then
j := 0;
commit;
end if;
end loop;
end;
/