最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

mssql使用游标遍历方式批量update更新数据

来源:动视网 责编:小采 时间:2020-11-09 10:03:21
文档

mssql使用游标遍历方式批量update更新数据

mssql使用游标遍历方式批量update更新数据:mssql 使用游标遍历方式批量update更新数据 /* --1.创建测试表 create TABLE Table1 ( a varchar(10), b varchar(10), c varchar(10), CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED ( a ASC
推荐度:
导读mssql使用游标遍历方式批量update更新数据:mssql 使用游标遍历方式批量update更新数据 /* --1.创建测试表 create TABLE Table1 ( a varchar(10), b varchar(10), c varchar(10), CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED ( a ASC


mssql 使用游标遍历方式批量update更新数据
/*
--1.创建测试表
create TABLE Table1
(
a varchar(10),
b varchar(10),
c varchar(10),
CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
(
a ASC
)
) ON [PRIMARY]

create TABLE Table2
(
a varchar(10),
c varchar(10),
CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED
(
a ASC
)
) ON [PRIMARY]
GO
--2.创建测试数据
Insert into Table1 values('赵','asds',null)
Insert into Table1 values('钱','asds','100')
Insert into Table1 values('孙','asds','80')
Insert into Table1 values('李','asds',null)

Insert into Table2 values('赵','90')
Insert into Table2 values('钱','100')
Insert into Table2 values('孙','80')
Insert into Table2 values('李','95')
GO
select * from Table1

--3.通过游标方式更新
declare @name varchar(10)
declare @score varchar(10)
declare mycursor cursor for select a from Table1 where c is null
open mycursor
fetch next from mycursor into @name
while(@@fetch_status = 0)
BEGIN
select @score=c from Table2 where
update Table1 set c = @score where a = @name
fetch next from mycursor into @name
END
close mycursor
deallocate mycursor
GO
--4.显示更新后的结果
select * from Table1
GO
--5.删除测试表
drop TABLE Table1
drop TABLE Table2

虽然用游标可以实现,但代码看起来很复杂

Update是T-sql中再简单不过的语句了,update table set column=expression [where condition],我们都会用到。但update的用法不仅于此,真正在开发的时候,灵活恰当地使用update可以达到事半功倍的效果。

假定有表Table1(a,b,c)和Table2(a,c),现在Table1中有些记录字段c为null,要根据字段a在Table2中查找,取出字段a相等的字段c的值来更新Table1。一种常规的思路,通过游标遍历Table1中字段c为null的所有记录,在循环体内查找Table2并进行更新,即用游标Cursor的形式
*/

文档

mssql使用游标遍历方式批量update更新数据

mssql使用游标遍历方式批量update更新数据:mssql 使用游标遍历方式批量update更新数据 /* --1.创建测试表 create TABLE Table1 ( a varchar(10), b varchar(10), c varchar(10), CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED ( a ASC
推荐度:
标签: 批量 方法 使用
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top