当前位置:首页 » 编程语言 » 批量更新多条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