sql 批量修改数据
答案:5 悬赏:70 手机版
解决时间 2021-02-05 14:16
- 提问者网友:相思似海深
- 2021-02-05 06:29
sql 批量修改数据
最佳答案
- 五星知识达人网友:走死在岁月里
- 2021-02-05 08:04
使用update 更新修改数据库数据,更改的结果集是多条数据则为批量修改。
语法格式如:
update 表格 set 列 = 更改值 where 筛选条件
例:
update table set a=1 --将table 中所以a列的值改为 1
update table set a=1 where b=2 --将table 中列b=2的记录中a列的值改为 1
语法格式如:
update 表格 set 列 = 更改值 where 筛选条件
例:
update table set a=1 --将table 中所以a列的值改为 1
update table set a=1 where b=2 --将table 中列b=2的记录中a列的值改为 1
全部回答
- 1楼网友:蕴藏春秋
- 2021-02-05 10:42
update 表 set b=x.b,c=x.c from (select top 1 * from 表 where len(b)>0 and len(c)>0) x where x.a=表.a
- 2楼网友:人類模型
- 2021-02-05 10:09
update tablename set tablename.b=x.b,tablename.c=x.c from (Select top 1 A,Min(B),Min(C) from tablename group by A) x where x.a=tablename.a
- 3楼网友:鸠书
- 2021-02-05 09:17
--插入临时表
select * into Temp表 from 表名 where B is not null or c is not null
--更新B字段
update 表名set 表名.B=Temp表.B
from 表名,Temp表
where 表名.A=Temp表.A and 表名.B is null
--更新C字段
update 表名set 表名.C=Temp表.C
from 表名,Temp表
where 表名.A=Temp表.A and 表名.C is null
--drop Temp表
drop table Temp表
select * into Temp表 from 表名 where B is not null or c is not null
--更新B字段
update 表名set 表名.B=Temp表.B
from 表名,Temp表
where 表名.A=Temp表.A and 表名.B is null
--更新C字段
update 表名set 表名.C=Temp表.C
from 表名,Temp表
where 表名.A=Temp表.A and 表名.C is null
--drop Temp表
drop table Temp表
- 4楼网友:迷人又混蛋
- 2021-02-05 08:57
--测试数据如下:
SQL> create table temp(a number,b varchar2(1),c varchar2(1));
Table created
SQL> insert into temp values(1,'a','a');
1 row inserted
SQL> insert into temp values(1,'','');
1 row inserted
SQL> insert into temp values(1,'','');
1 row inserted
SQL> insert into temp values(2,'e','3');
1 row inserted
SQL> insert into temp values(2,'','');
1 row inserted
SQL> insert into temp values(2,'','');
1 row inserted
SQL> select * from temp;
A B C
---------- - -
1 a a
1
1
2 e 3
2
2
6 rows selected
SQL>
SQL> update temp t1
2 set (b,c)=(select b,c from temp t2 where t2.a=t1.a and t2.b is not null and t2.c is not null)
3 where t1.b is null and
4 t1.c is null;
4 rows updated
SQL> select * from temp;
A B C
---------- - -
1 a a
1 a a
1 a a
2 e 3
2 e 3
2 e 3
6 rows selected
SQL> create table temp(a number,b varchar2(1),c varchar2(1));
Table created
SQL> insert into temp values(1,'a','a');
1 row inserted
SQL> insert into temp values(1,'','');
1 row inserted
SQL> insert into temp values(1,'','');
1 row inserted
SQL> insert into temp values(2,'e','3');
1 row inserted
SQL> insert into temp values(2,'','');
1 row inserted
SQL> insert into temp values(2,'','');
1 row inserted
SQL> select * from temp;
A B C
---------- - -
1 a a
1
1
2 e 3
2
2
6 rows selected
SQL>
SQL> update temp t1
2 set (b,c)=(select b,c from temp t2 where t2.a=t1.a and t2.b is not null and t2.c is not null)
3 where t1.b is null and
4 t1.c is null;
4 rows updated
SQL> select * from temp;
A B C
---------- - -
1 a a
1 a a
1 a a
2 e 3
2 e 3
2 e 3
6 rows selected
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯