⑴ 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)
剩下的你自己添加就可以了