⑴ sql如何批量更新数据
您好,可先将需要正确的更新的内容导入到另一张表中,通过另一张表的数据与原始的表数据的关联关系进行批量更新。如此多列都可进行批量更新。
⑵ SQL 批量更新语句
1.使用存储过程
2.在程序代码里逐条循环执行
这里给出一种更高效、简洁的做法,批量更新SQL ,一句SQL就可以替代麻烦的循环过程,有MS SQLServer、Oracle、DB2下的写法
--关键点:t4和t1是同一个table,primary key肯定也是同一个,
--并以它进行关联,这样在 select语句里即可引用到要update的表的fields
UPDATETable1ASt1
SET(Field1,Field2)=(SELECTField21,Field22
FROMTable2t2
INNERJOINTable3t3
ONt3.Field31=t2.Field23
INNERJOINTable4t4
ONt3.Field32=t4.Filed41
WHEREt2.Field24>=''
ANDt1.fId=t4.fId);
----------------------------MSSQLServer-----------------------------------
UPDATEt1
SETField1=Field21,Field2=Field22
FROMTable2t2
INNERJOINTable3t3
ONt3.Field31=t2.Field23
INNERJOINTable4t4
ONt3.Field32=t4.Filed41
WHERE((t2.Field24>='')
ANDt1.fId=t4.fId);
⑶ SQL关于数据库批量更新的语句。
update 表1,表2 set 表1.Mac1=表2.Mac1,表1.Mac2=表2.Mac2,表1.Mac3=表2.Mac3
where 表1.SN=表2.SN
⑷ sql server如何批量更新数据。
update表名setvalue=casewhenid=1then一个值
whenid=2then一个值
whenid=3then一个值elsevalue
end
上边就是举个例子,意思是,当id=1时,把value设定个值,当id=2时,value设定另一个值,依次类推,不需要更改的保留原来的value值,最后以end结尾
⑸ SQL 数据批量替换更新
UPDATEtbSETXH=REPLACE(XH,'','M')
⑹ SQL关于数据库批量更新的问题。
BEGINTRAN
UPDATEASETA.CPDM=B.CPDM,...FROMTABLE1AJOINTABLE2BON(A.MAC1=B.MAC1)
UPDATEASETA.CPDM=B.CPDM,...FROMTABLE1AJOINTABLE2BON(A.MAC1=B.MAC2)
UPDATEASETA.CPDM=B.CPDM,...FROMTABLE1AJOINTABLE2BON(A.MAC2=B.MAC1)
UPDATEASETA.CPDM=B.CPDM,...FROMTABLE1AJOINTABLE2BON(A.MAC2=B.MAC2)
COMMITTRAN
⑺ 如何使用sql server快速批量更新数据
试试循环吧
declare @cnt int
select @cnt = count(1) from A
while(@cnt > 0)
begin
--更新
set @cnt = @cnt - 1
end
按照你补充的,你这个完全可以把几种状态的判断先做好,然后直接对满足条件的批量更新。
做个临时表放置标识字段跟状态,对满足某个状态的批量update。 索引可以优化查询,update跟delete这种操作反而会破坏索引。
⑻ 如何update sql 批量更新
update 表名 set value=case when id=1 then 一个值 when id=2 then 一个值 when id=3 then 一个值 else value end
上边就是举个例子,意思是,当id=1时,把value设定个值,当id=2时,value设定另一个值,依次类推,不需要更改的保留原来的value值,最后以end结尾
⑼ sql批量更新
update sign set BZXZ=
case
when SHAPE= 1 then 1
when SHAPE= 3 then 2
end
where SHAPE in (1,3)
剩下的你自己添加就可以了