批量更新sql
‘壹’ sql如何批量更新数据
您好,可先将需要正确的更新的内容导入到另一张表中,通过另一张表的数据与原始的表数据的关联关系进行批量更新。如此多列都可进行批量更新。
‘贰’ SQL数据库的批量更新
我做过很多这样的东西 很简单 如果才3000条的话连存储过程都不需要 使用绑定变量就行了
‘叁’ sql 批量更新update
什么数据库呀?
给你写个sqlserver的,其他数据库的话另说
updatetable2setpwd=table1..username=table2.username
‘肆’ sql中怎么批量更新列的数据
update qc_top set top_id='1' where id=1
update qc_top set top_id='1' where id=2
同上.......
________________________________________
下面是批量更新
UPDATE qc_top
SET top_id = CASE id //表的更新列对应主ID
WHEN 1 THEN 1 //要更新的ID,更新的值
WHEN 2 THEN 2
WHEN 3 THEN 3
WHEN 4 THEN 10
WHEN 5 THEN 3
END
WHERE id IN (1,2,3,4,5) //从1到900 "WHERE id between 1 and 900"
‘伍’ SQL批量更新数据
updateBBsetBB.Price=AA.PricefromB..TABLEBBB
innerjoinA..LABLEAAAonBB.Prod=AA.Prodcode
‘陆’ 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);
‘柒’ 如何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)
剩下的你自己添加就可以了
‘玖’ SQL语句 表中自动批量update
update 表1 set 字段1=(select 表2.字段1 from 表2 where 表2.航班号=表1.航班号 and 表2.日期=表1.日期) where exists (select 1 from 表2 where 表2.航班号=表1.航班号 and 表2.日期=表1.日期 )
试一下,不知道行不行,没有测试