當前位置:首頁 » 編程語言 » 批量更新多條sql語句
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

批量更新多條sql語句

發布時間: 2022-03-04 09:40:44

sql 用update語句一次更新多個欄位應該怎麼寫

update表名set(欄位1,欄位2,欄位3,...)=(select數值1,數值2,數值3,...)where條件

多個欄位可以使用逗號隔開,每一個 欄位名=值 就是賦值,其後的WHERE 條件語句可加可不加。

拓展資料:

結構化查詢語言(Structured Query Language)簡稱SQL(發音:/ˈes kjuː ˈel/ "S-Q-L"),是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。

結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統, 可以使用相同的結構化查詢語言作為數據輸入與管理的介面。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。

Ⅱ 求SQL批量更新語句

update table_name set 申報期 = 2
where 申報期=1
and 是否大齡=是

是這個意思嗎?

Ⅲ 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數據批量更新語句怎麼寫

--試試下面個吧,如果使用存儲過程可能會好些

create table a1(
id1 int primary key,
va1 varchar(20)

)
drop table b2

create table b2(
id2 int primary key,
va2 varchar(20)

)

--創建一張中間表來儲存被刪除的id
create table idrecord
(
id int
)

--a1 插入 測試數據
insert into a1 values (1, '地理');
insert into a1 values (2,'物理');

--b2 插入 測試數據
insert into b2 values (1, '數學');
insert into b2 values (3,'英語');

select * from a1
select * from b2

--如果A1存在ID與B1相同的數據,則更新,由於主鍵不能重復插入,所以先刪除數據再進行添加,

--記錄被刪除的id
delete from idrecord
insert into idrecord select id1 from a1 where id1 in (select id2 from b2)
--先刪除 在 a1 ID 與 b2相同的數據
delete from a1 where id1 in (select id2 from b2)
insert into a1 select * from b2 where id2 in (select * from idrecord)

--如果A1不存在ID與B1相同的數據,則添加B1中的數據到A1中

insert into A1 select * from b2 where id2 not in (select id1 from a1)

Ⅳ 求一條sql批量更新語句

可以藉助語言(如:Python、Java等)實現。單單SQL里是不可以定義數組的。

Ⅵ 請教一個多條批量更新的SQL語句

declare @output varchar(8000)
select @output=coalesce(@output,'')+ a.name +'=case '+a.name+' when 0 then 5 when 1 then 4 when 2 then 3 when 3 then 4 else 1 end,' from syscolumns a
left join sysobjects b
on a.id=b.id where b.name='tb'
select @output=substring(@output,1,LEN(@output)-1)

exec(N'update tb set '+@output+'')

--如果只操作部分列,就復制一個空白表
select top 0 a,b,g into tb1

declare @output varchar(8000)
select @output=coalesce(@output,'')+ a.name +'=case '+a.name+' when 0 then 5 when 1 then 4 when 2 then 3 when 3 then 4 else 1 end,' from syscolumns a
left join tempdb..sysobjects b
on a.id=b.id where b.name='tb1'
select @output=substring(@output,1,LEN(@output)-1)

exec(N'update tb set '+@output+'')

Ⅶ 求sql語句批量更新

Declare Up_Code_Cursor Cursor for select code from table for update
Declare @code varchar(50),@i int
set @i = 1
open Up_Code_Cursor
fetch Next from Up_Code_Cursor into @code
while @@fetch_status = 0
begin
update table set code = right('0000'+cast(@i as varchar),4) from up_Code_Cursor
select @i = @i + 1
fetch Next from Up_Code_Cursor into @code

end

CLOSE Up_Code_Cursor
DEALLOCATE Up_Code_Cursor

Ⅷ 關於SQL語句的批量update的寫法,求解!

update [tablename] set status = 1 where id=1 or id=2 or id=3 or id=4; update [tablename] set status = 1 where id between 1 and 4 update [tablename] set status = 1 where id in (數組的值)

Ⅸ 求一個SQL 批量更新語句

數值型
update 表名 set 欄位=欄位+1000
文本型
update 表名 set 欄位='1'+欄位

Ⅹ 批量更新SQL語句

批量更新SQL語句
update qc_top set top_id='1' where id=1
update qc_top set top_id='1' where id=2